Как создать условие запроса, в котором сравниваемое поле равно динамическому значению в 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 
Другие вопросы по тегам