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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
hareluya

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

9年前 评论

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