【发布时间】:2015-12-04 09:21:18
【问题描述】:
在 CakePHP 2 中当你写这样的东西时:
$Model->find('all', ['conditions' => ['field' => 1]]);
您将获得如下所示的查询:
SELECT * FROM model WHERE model.field = 1;
或者当你写这样的东西时:
$Model->find('all', ['conditions' => ['field' => [1,2,3,5]]]);
你会得到这样的查询:
SELECT * FROM model WHERE model.field IN (1,2,3,5);
我的意思是,“IN”语句是根据参数类型自动生成的。
另一方面,在 CakePHP 3 中编写时
$Table->find()->where(['field' => [1,2,3]])->all();
你会收到一个错误,例如
无法将值转换为整数
因为它会生成这样的语句:
SELECT * FROM table WHERE table.field = Array();
这是错误还是功能?
【问题讨论】:
标签: php cakephp cakephp-3.0