1. Fabrik 3.9 has been released. If you have updated Joomla to 3.9, this is a required update.
    Dismiss Notice

Fabrik element user plugin might be broken

Discussion in 'Community' started by xycofryx, Feb 22, 2018.

  1. xycofryx

    xycofryx Member

    Level: Community
    Joomla Version : 3.8.3
    Fabrik Version: 3.8.1
    Template: Purity III
    Add-On: Fabrik-Joomla-alt-layouts


    Upon using the "user" plugin it gave me a message:


    A join or a list has been added which has no Primary Key. Most likely cause is you are creating a new list on a MySQL view, or a join element joining to one. Views don't have PKs, and we couldn't find an 'id' element to use. If you are creating a list, you will need to manually designate the PK in the list settings now, in the 'Data' tab. If you are creating a join element, make sure that a Fabrik list has been created on that view, and the PK designated. Once that is done, Fabri will know what field to use as the PK when you create a join to it.

    The funny thing is I didn't use any views.

    And then it bugged that it didn't reflect the Joomla Fullname of the user that editing the record instead I got the user_id shown in the list. Furthermore whenever I enable the "Include in search results" is gave me an error that resembles like this:


    upon checking the table called #_fabrik_joins there is a record that contains my field called "updated_by".

    Please help me on this one.

    Attached Files:

  2. troester

    troester Well-Known Member Staff Member

    Level: Community
    Are you using multiple Fabrik connections?
  3. xycofryx

    xycofryx Member

    Level: Community
    Yes I am, I have three databases each been divided by system functionality.
  4. troester

    troester Well-Known Member Staff Member

    Level: Community
    Fabrik doesn't support "cross joining", i.e. you can't use a databasejoin element (or CDD or user) pointing to a table in an other database.

    I assume it's the same with "Include in search results": you can only include list in the Joomla database.
  5. cheesegrits

    cheesegrits Support Gopher Staff Member

    Level: Community
    Well, you kinda can do a cross join (if the credentials are the same for both databases), but you'll only ever get the "value", not the "label". So, in this case, you can store the user ID, but you won't be able to resolve that to a username (or whatever). Which is obviously of limited use, but is useful for (say) ACL purposes.

    -- hugh
  6. xycofryx

    xycofryx Member

    Level: Community
    Update: I just merge all the table into one database, maybe its not a good idea after all to divide them (too much complexity for me). Until then, it's one big DB for me.

    Well thanks anyway guys for helping me out. Fabrik is a great tool for not so brilliant guys like us who hated the complexities of MVC or designing systems from scratch. KUDOS

Share This Page