我有一个SQL查询,如:
SELECT a,b,c
from 'table '
where a like '$ae%' and b = '$b'.
此处$a
是一个数字字段。
我需要以下面的形式编写上述查询:
$abc = ClassRegistry::init('Model Name')->find('list', array('fields' => array('a,', 'b'), 'conditions' => array('b' => array($b),'a LIKE'=>'$a%'),));
答案 0 :(得分:1)
我建议你去阅读文档。
还记得要总是引用确切的蛋糕版本,如果你有一些错误,请在你的问题中显示错误。
无论如何,既然你确实展示了一些努力,这里就是使用cake3进行查询的方式:
首先不要使用find('list'),除非你真的想要一个键值数组。但是,由于您希望3个字段使用find('all')
或仅find()
$query = $yourTable->find()
->select(['a', 'b', 'c')
->where([
'b' => $b,
'a LIKE' =>"%$a%"
]);
然后,如果你想要一个数组,你必须在查询上调用toArray()
。
$result = $query->toArray();