0

我正在尝试创建这样的查询:

$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 字段,所以,我需要与它进行比较。任何想法?

4

1 回答 1

0

在函数 ($q) 之后添加“使用”

例子

return $q->matching('Centers', function ($q) use($foo) {
                    return $q->where(['Centers.id' => $foo]);
                })->co 
于 2017-03-16T11:51:45.530 回答