繁体   English   中英

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

[英]CakePHP contain condition cannot use variable?

我想这个问题有一个简单的解决方案,但我似乎找不到。 我返回一个错误,指出包含注释查询中的$ p_name等于NULL。 既然以前已经明确设置了这怎么可能。

$p_name = "Berta";

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

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

$p_name = "Berta";

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM