Как создать условие запроса, в котором сравниваемое поле равно динамическому значению в Cakephp 3

cakephp-3.0 dynamic-queries

176 просмотра

1 ответ

1 Репутация автора

Я пытаюсь создать такой запрос:

$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, поэтому мне нужно сравнить его. Любая идея?

Автор: Sandra VR Источник Размещён: 16.03.2017 11:33

Ответы (1)


0 плюса

127 Репутация автора

добавить «использовать» после функции ($ q)

Exemple

return $q->matching('Centers', function ($q) use($foo) {
                    return $q->where(['Centers.id' => $foo]);
                })->co 
Автор: Gransfall Размещён: 16.03.2017 11:51
Вопросы из категории :
32x32