在写一个项目过程中发现一个奇怪的现象,函数传参之后无法执行sql,具体代码如下
public function getRule($id){
$where['id']=$id;
$field=['title,contant,keyword'];
var_dump($where);
$db=DB::name('mysql')->where($where)->find($field);
var_dump(Db::name('mysql')->getLastSql());
return $db;
}
后期发现,是$field的写错了位置,导致mysql没有执行。
检查思路是:
1、先看看传参是否正常打印出来
2、再看看mysql最后一条执行方案Db::name('mysql')->getLastSql()
最后正确的写法为
public function getRule($id){
$where['id']=$id;
$field=['title,contant,keyword'];
$db=DB::name('mysql')->where($where)->field($field)->find();
return $db;
}
filed 是你要查询的字段内容,要单独使用field查询