set_relation_n_n:如何使用其他字段而不是primary_key到第4个数据

时间:2013-08-08 02:13:45

标签: sql grocery-crud

我正在开发一个使用杂货店的CodeIgniter项目。

我正在使用此代码:

$crud->set_table('dtr');
$crud->set_relation_n_n('branch', 'users_branches', 'branches', 'user_id', 'branch_id', 'name');

在SQL中,它的等价物如下:

SELECT `dtr`.*, (SELECT GROUP_CONCAT(DISTINCT branches.name) 
FROM branches 
LEFT JOIN users_branches ON users_branches.branch_id = branches.id WHERE
>> users_branches.user_id = `dtr`.id    
GROUP BY users_branches.user_id) AS branch FROM (`dtr`)

但我想要发生的是:

SELECT `dtr`.*, (SELECT GROUP_CONCAT(DISTINCT branches.name) FROM branches LEFT JOIN users_branches ON users_branches.branch_id = branches.id WHERE
users_branches.user_id = `dtr`.user_id    
GROUP BY users_branches.user_id) AS branch FROM (`dtr`)

我无法按照我需要的方式实现它,因为table dtr的主键是'id'而不是'user_id'。此外,更改主键会导致系统其他部分出现大量错误。所以我需要找到一种方法来对它进行不同的编码,以便它可以正常工作。

请帮忙。感谢。

0 个答案:

没有答案