如何创建查询条件,其中compare字段等于Cakephp 3

时间:2017-03-16 11:33:44

标签: cakephp-3.0 dynamic-queries

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

$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值进行比较。我的意思是,Spreadsheets有一个center_id字段,所以,我需要与它进行比较。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

为例

return $q->matching('Centers', function ($q) use($foo) {
                    return $q->where(['Centers.id' => $foo]);
                })->co