Как создать условие запроса, в котором сравниваемое поле равно динамическому значению в Cakephp 3
Я пытаюсь создать такой запрос:
$spreadsheet = $this->Spreadsheets->get($id, [
'contain' => [
'SpreadsheetTypes.CentersTypes' => function ($q) {
return $q->matching('Centers', function ($q) {
return $q->where(['Centers.id' => 5]);
})->contain(['Items']);
}
]
]);
Значение $id передается параметром. Но мне нужно изменить
return $q->where(['Centers.id' => 5])
потому что мне нужно сравнить 'Centers.id' со значением center_id, которое я получу по этому запросу. Я имею в виду, что в таблицах есть поле center_id, поэтому мне нужно с ним сравнить. Любая идея?
1 ответ
Добавить "использовать" после функции ($q)
Exemple
return $q->matching('Centers', function ($q) use($foo) {
return $q->where(['Centers.id' => $foo]);
})->co