正确使用YII2中的查询位置

时间:2017-01-16 18:56:27

标签: php mysql yii2

我尝试使用Query类和条件

来限制Yii2中的搜索结果
 string(48) "SELECT * FROM `ct_ostatniNaklady` WHERE pid=:pid" 

然而,命令无法正常工作。当我转储$ command时,我得到了这个结果:

 ->where(['pid'=>'1'])

我不知道为什么:pid字符串不能替换为1。

使用diffent语法无效

  string(50) "SELECT * FROM `ct_ostatniNaklady` WHERE `pid`=:qp0" 

结果很常见:

vmap([](const auto &p) {return p+1;}, vint);

在何处使用条件的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

这是绝对正常的,这就是PDO的工作原理。你正确使用的地方。

如果要使用绑定到变量值的每个参数生成SQL查询,请使用:

{{1}}

PS。我希望你只将它用于调试和一些特殊情况,因为通常不需要像那样生成原始查询。