私は、食料品のクラッドを使用する 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 の主キーが「user_id」ではなく「id」であるため、必要な方法でそれを実現できません。さらに、主キーを変更すると、システムの他の部分で多くのエラーが発生します。したがって、正しく機能するように、別の方法でコーディングする方法を見つける必要があります。
助けてください。ありがとう。