关于 Laravel 5 组合 sql 的问题
刚刚接触 laravel 不久,最近在写一个公司的项目,需要用到多个条件组合查询,遂写了如下代码
$sql = 'Brand::where("fi_holder_id",$uid)->where("fi_is_follow",1031)';
`if($request->route('ent_name')){`
`$sql .= '->where("fs_apply_name",$request->route("ent_name"))';`
`}elseif($request->route('cate')){`
`$sql .= '->where("fi_category",$request->route("cate"))';`
`}elseif($request->route('app_order')){`
`$sql .= '->orderBy("ft_apply_datetime",$request->route("app_order"))';`
`}elseif($request->route('cate_order')){`
`$sql .= '->orderBy("fi_category",$request->route("cate_order"))';`
`}`
`$sql .= '->skip($offset)->take($limit)->get()->toArray();';`
`$brand_list = eval($sql);`
问题是这样的,我组合了查询条件,但是最后一步 eval 的时候,提示 “Class 'Brand' not found”,因为 Brand 是 use 引用的,所以可能无法在 eval 中使用,想请问各位大神有没有好的解决办法,如果没有的话我就只能拼原生 sql 了
推荐文章: