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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2
hareluya

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

9年前 评论

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