我正在开发一个使用杂货店的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'。此外,更改主键会导致系统其他部分出现大量错误。所以我需要找到一种方法来对它进行不同的编码,以便它可以正常工作。
请帮忙。感谢。