在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();
这是一个错误还是一个功能?