2016-02-18 2 views
3

У меня есть три таблицы (упрощенный), которые являются:GroceryCrud установить п-п отношения с где положение

enter image description here

И я должен отобразить все дома для каждого пользователя.
В моем контроллере у меня есть функция, как это:

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)); 
... 
} 

и то, что я получаю это:

enter image description here

Каждый раз, когда я выбираю пользователь из комбо, мне нужно, чтобы обновить свой список фильтрация на usr_id ... , но я всегда получаю все дома.

Что я не так?

+0

Вы должны использовать tbl_users в качестве основной таблицы, а затем отфильтровать ее с помощью $ crud-> where(). Однако для этого пользователя вы закончите одну таблицу строк. Это то, что вы намерены? – jrierab

+0

Привет @jrierab Спасибо за ваш ответ! То, что вы имеете в виду, не совсем то, что я хочу. Каждому пользователю принадлежат разные дома (например, Пользователь 1 -> HOUSE_1, HOUSE_4, HOUSE_7). Мне нужен способ показать только те дома, которые связаны с пользователем, выбранным в комбо. Надеюсь, я был ясен :) – Barzo

+1

Это не намеренное использование для set_relation_n_n (он покажет все пользовательские дома в одном поле внутри строки пользователя). То, что вы хотите, может быть лучше сделано с помощью tbl_users_houses, фильтрации клиентом с помощью $ crud-> where() и связывания с другими таблицами с двумя простыми отношениями. – jrierab

ответ

0

Это не намеренное использование для set_relation_n_n (он отобразит все пользовательские дома в одном поле внутри строки пользователя).

Что вы хотите, можно сделать лучше с помощью tbl_users_houses, фильтруя клиентом с помощью $ crud-> where() и связываясь с другими таблицами с двумя простыми отношениями.