у меня есть таблица, содержащая информацию о пользователе, имя модели пользователяCakePHP: поиск Фильтр по одной таблице на основе значений из другой таблицы
User
----
id full_name (for demo purposes)
1 john doe
2 jane doe
3 john smith
4 jane smith
Модель пользователя связана с другой моделью под названием Record
Record
------
userid(FK)
1
1
3
3
3
У меня также есть подпрограмма в моем контроллере, которая ищет пользователей на основе некоторых критериев.
$leads = $this->User->find('list',array(
'fields' => array('User.id','User.full_name'),
'order' => array('User.full_name ASC'),
'conditions'=>array('AND'=>array(
'NOT'=>array('User.deleted_record'=>1),
array('NOT'=>array('User.username'=>'root',
array('User.username'=>'testuser')))
))
));
Это прекрасно подходит для возврата выпадающего списка пользователей. Теперь мне нужно сделать следующий фильтр: список пользователей, основанный на том, имеют ли они одну или несколько записей в модели записи. Если они этого не сделают, они не должны появляться.
User
----
id
1
3
Я предполагаю, что это потребует пункт IN и присоединиться, но я не знаю «Cake» способ, чтобы установить его в своем коде.
Спасибо. Я смог использовать массив 'group' => ('Record.userid') вместе с соединением, чтобы заставить его работать. Не * полностью * Торт-у, но я там! – Chris
Рад быть полезным :) – Aarrbee