Я не могу получить любые поля из таблицы предметов ниже, чтобы отобразить. Я получаю правильные данные студентов, я не получаю ошибок, но я не получаю никаких полей из таблицы Subjects. Не уверен, что я делаю неправильно. Если я удалю предложение where, я получаю все данные от объектов, поэтому проблема - это предложение where в содержании.не могу получить поля из таблицы ofstomany
$students = $this->Students->find()
->contain([ 'Subjects' => function ($q) {
return $q
->select(['id','name'])
->where(['Subjects.id >' =>60]) ;
}])
->select(['Students.id','Students.last_name','Students.first_name'])
->where(['Students.student_inactive'=>false])
->hydrate(true);
foreach($students as $key=>$item2):
debug($item2);
endforeach;
/////////output
object(App\Model\Entity\Student) {
'id' => (int) 24,
'last_name' => 'Test',
'first_name' => 'Cavr',
'subjects' => [],
'[new]' => false,
'[accessible]' => [
'*' => true
],
'[dirty]' => [],
'[original]' => [],
'[virtual]' => [],
'[errors]' => [],
'[invalid]' => [],
'[repository]' => 'Students'
}
....
Все выглядит хорошо, вы уверены, что у вас есть запись для субъектов на данном условии? подтвердите это первым. –
да, у меня есть много объектов ids более 60, поэтому я понятия не имею, что делать здесь – jagguy
см. Темы на выходе - пустой массив? – jagguy