0

我正在开发一个使用杂货店的 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`)

我无法按照我需要的方式实现它,因为表 dtr 的主键是“id”而不是“user_id”。此外,更改主键会导致我系统的其他部分出现很多错误。所以我需要找到一种方法来对它进行不同的编码,这样它才能正常工作。

请帮忙。谢谢。

4

0 回答 0