Я пытаюсь выполнить поиск по полю в связанной модели.Я могу сделать это с помощью модели принадлежит модели, но не модели hasMany.Я уверен, что это что-то простое, я пропускаю, но я не вижу этого.Может ли кто-нибудь указать мне правильное направление (или даже страницу с кулинарной книгой, в которой я нуждаюсь - искал, но не нашел ничего похожего на это).Спасибо
В группах контроллер: (это не работает)
$group = $this->Group->find('all', array('conditions' => array('Voucher.id' => '55')));
Это делает:
$group = $this->Group->find('all', array('conditions' => array('TourOperator.id' => '3')));
Фоновые фрагменты файла:
ГруппаМодель:
var $belongsTo = array(
'TourOperator' => array(
'className' => 'TourOperator',
'foreignKey' => 'tour_operator_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
var $hasMany = array(
'Voucher' => array(
'className' => 'Voucher',
'foreignKey' => 'group_id',
'dependent' => true,
'conditions' => '',
'fields' => '',
'order' => 'Voucher.date, Voucher.meal_type_id'
)
);
Модель ваучера:
var $belongsTo = array(
'Group' => array(
'className' => 'Group',
'foreignKey' => 'group_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
Модель туроператора:
var $hasMany = array(
'Group' => array(
'className' => 'Group',
'foreignKey' => 'tour_operator_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
Обновление (как указано в комментарии ниже, но более понятно для прочтения здесь)
В итоге я использовал это.
$groups = $this->Group->Voucher->find('all', array('fields' => 'DISTINCT group_id', 'conditions' => array('Voucher.status' => 'pending')));
$group_ids = Set::extract($groups, '/Voucher/group_id');
$data = $this->Group->find('all', array('conditions' => array('Group.id' => $group_ids)));
Я получаю отдельный список идентификаторов групп, соответствующих моим критериям, создаю массив только идентификаторов, а затем использую его для извлечения групптак что массивы упорядочены так, как я ожидаю, на мой взгляд.