关于 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了

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2
hareluya

写全namespace试试看?
app\model\Brand ?

10年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!