我必须使用这些模式创建表:
users(id, name, email)
user_details (id, user_id, physical_address, otherinfo)
当我尝试在第一个表上使用set relation时,我想使用groxage crud在一个网格中显示两个表的所有内容,如下所示:注意:我已经减少了渲染视图的部分;
$crud = new grocery_CRUD();
$crud->set_table('users');
$crud->set_relation('id', 'user_details', '{physical_address} + {otherinfo}');
id字段的值以及引用的表不出现在网格中,因此在使用主键时似乎不起作用。
所以我决定从第二个表的内容开始,就像这样:
$crud = new grocery_CRUD();
$crud->set_table('user_details');
$crud->set_relation('user_id', 'users', '{name} + {email}');
这是可行的,但问题是这些值出现在网格的一列中。我想知道如何将它们分隔到不同的列中,并使它们在单独的输入字段中可编辑。
2条答案
按热度按时间af7jpaap1#
我方式有点可笑,
如果我真的需要分隔字段,我可能会使用callback_column,然后使用活动记录,使用
$row->user_id
返回值,并回调每个记录就像:
return $this->some_model->get_name($row->user_id);
表示名称字段和
return $this->some_model->get_name($row->user_id);
表示电子邮件字段但是,当我用一些虚拟记录进行测试时,它无法排序,(我不知道是否有人可以)
kcugc4gi2#
没有直接的方法来显示多个列,但我发现了一个解决这个问题的方法。下面是如何设置名称列如下。
我百分百肯定这会帮到你