Это грязный, потому что я пытаюсь написать поиск торта, в котором используются два отношения HABTM.CakePHP найти с двумя отношениями HABTM
У меня есть одна таблица с именами проектов, и она имеет отношение HABTM к таблице пользователей. Он использует посреднические таблицы project_users для отношений HABTM.
Тогда пользователи имели обыкновение иметь отношение к отношениям с таблицей отделов. Для этой таблицы у пользователей был внешний ключ, называемый department_id. Но теперь отношения изменились на HABTM; и внешний ключ, department_id, был сброшен, и вместо него были созданы таблицы department_users.
Так старая находка заявление, я работаю на изменения, которые используются для выглядеть следующим образом:
$projectsUsers = $this->Project->ProjectsUser->find('all', array(
'conditions' => array(
'ProjectsUser.project_id' => 1,
'User.department_id' => 25
),
'recursive' => 0,
'contain' => array(
'User' => array(
'fields' => array(
'id',
'department_id'
)
)
)
));
Какой должен быть изменен, так как таблица пользователи больше не имеет department_id.
Итак, моя первая цель состояла в том, чтобы изменить вышеуказанное, чтобы включить отделы_услуги и отделы. Я попытался закомментировав department_id поля и настройки рекурсивной 2. Это мой торт находка заявление:
$projectsUsers = $this->Project->ProjectsUser->find('all', array(
'conditions' => array(
'ProjectsUser.project_id' => $projectId
),
'recursive' => 2,
'contain' => array(
'User' => array(
'fields' => array(
'id'
)
)
)
));
Это то, что он сделал в отладчике:
Array
(
[0] => Array
(
[ProjectsUser] => Array
(
[id] => 9999
[user_id] => 999
[project_id] => 999
[status] => active
)
[User] => Array
(
[id] => 999
)
)
...
Я надеялся установки рекурсивный до 2 будет включать отделы и производить что-то подобное в отладчике:
Array
(
[0] => Array
(
[ProjectsUser] => Array
(
[id] => 9999
[user_id] => 999
[project_id] => 999
[status] => active
)
[User] => Array
(
[id] => 999
)
[Department] => Array
(
[0] => Array
(
[id] => 9
[DepartmentsUser] => Array
(
[id] => 99999
[department_id] => 9
[user_id] => 9999
)
)
)
)
...
Но это то место, где я застрял. Я нашел много сообщений в Интернете о отображении одной связи HABTM в cakePHP, но не двух. Я пробовал делать сдерживание в составе; но это делает ошибку. Я даже просто сделал простой SQL в торте; но он создал пустой массив без другого вывода. Любая помощь будет оценена по достоинству. Благодарю.
Спасибо, что указал мне в этом направлении. У меня сейчас все ближе к работе, чем раньше. Я думаю, что я отправлю еще один вопрос с моей новой попыткой. В очередной раз благодарим за помощь! – Joe