CodeIgniter GroceryCrud set_relation在多个表中使用相同的id

时间:2015-02-12 02:38:27

标签: php mysql codeigniter grocery-crud

在GroceryCrud中如何在不同的表中使用相同的Id set_relation?

我想做这样的事情:

$this->grocery_crud->set_relation('Id','Table1','Field');
$this->grocery_crud->set_relation('Id','Table2','OtherField');

但是当我这样做时,它只适用于最后一个值,我无法自定义标签。如何在不同的表中使用多个关系来实现这个目标?

1 个答案:

答案 0 :(得分:1)

如果您想创建一个下拉列表,而该列表将呈现为Field - OtherField而不是Id列,那么您可以:

在数据库中创建一个视图,该视图将连接表Table1和Table2,例如:

CREATE VIEW Table1_Table2 AS
SELECT Table1.Id, Table1.Field, Table2.OtherField
FROM
Table1 inner join Table2 on Table1.Id = Table2.Id

然后在您的GroceryCRUD应用中包含该视图:

$this->grocery_crud->set_relation('Id', 'Table1_Table2', '{Field} - {OtherField}');