CakePHP包含条件不能使用变量?

时间:2017-02-17 08:39:05

标签: php cakephp cakephp-3.0

我想这个问题有一个简单的解决方案,但我似乎无法找到它。我在包含注释查询时收到错误,说$ p_name等于NULL。这是怎么可能的,因为之前已经明确了。

python

1 个答案:

答案 0 :(得分:2)

该变量在函数q的范围内不可用,您需要传递USE结构,如:

$p_name = "Berta";

$query = $articles->find()->contain([
    'Comments' => function ($q) use ($p_name) {
       return $q
            ->select(['name'])
            ->where(['Comments.name' => $p_name]);
    }
]);