phpcodeignitergrocery-crud

GroceryCrud set a n-n relation with where clause


I have three tables (simplified) which are:

enter image description here

And I have to display all houses for each user.
In my controller I have a function like this:

public function create_houses_table($usr_id)
{
  $crud = new grocery_CRUD();

  $crud->set_language("italian");

  $crud->set_theme('datatables');
  $crud->set_subject('Casette');
  $crud->set_table('tbl_houses');

  $crud->set_relation_n_n('Casette', 
                          'tbl_users_houses', 
                          'tbl_users', 
                          'house_id', 
                          'user_id', 
                          'usr_name',
                          NULL,
                          array('user_id' => $usr_id));
...
}

and what I get is this:

enter image description here

Every time I select a user from the combo I need to refresh my list filtering on usr_id...but I get always all the houses.

What I'm wrong?


Solution

  • This is not the intended usage for set_relation_n_n (it will show all the user houses in one field inside the user row).

    What you want can be better done listing from tbl_users_houses, filtering by client with $crud->where() and linking with the other tables with two simple relations.