我为Laravel Query Builder创建了一个包装器函数,用于创建动态查询而不重复相同的事情。 我的功能如下:
Class Crud{
public function get($tbl,$field,$where){
$query = Capsule::table($tbl);
if($where != null) $query = $query->where($where);
$query = $query->select($field);
return $query;
}
}
函数调用
$crud = new Crud();
$field = ['a','b','c'];
$where = ['x' => 1];
$query = $crud->get('tbl',$field,$where);
问题:
此查询是否会降低性能?
为什么单个查询会像这样执行多次?
Select * from tbl
Select * from tbl where (x = ?)
Select a,b,c from tbl where (x = ?)