2016-02-18 51 views
3

我有三個表(簡化的),這是一個N-N關係:GroceryCrud設定where子句

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()進行過濾,並通過兩個簡單關係與其他表進行鏈接。