Laravel查询返回构建器而不是集合

时间:2017-07-20 22:22:15

标签: php laravel builder

我是laravel的新手并试图获得结果。 我的代码是这样的:

class GegonosController extends Controller
{
    public function index($gid = null, $cid = null, $nid = null)
    {
        if (is_null($cid) and is_null($nid) and is_null($gid)) {
            $gegon = Gegono::orderBy('created_at','desc')->get(); 
        }
        else{
            if(!is_null($gid)) {
                if($gid == 0) {
                    $gegon = Gegono::where('gegtype_id','>',1);
                }
                else{
                    $gegon = Gegono::where('gegtype_id', '=', $gid);   
                }
            }
            else {
                $gegon = Gegono::where('gegtype_id','>',0);
            }
            if (!is_null($cid)) {
                $gegon->where('city_id', '=',$cid);
            }
            if (!is_null($nid)) {
                $gegon->where('nomos_id','=', $nid);
            }        
            $gegon->orderBy('created_at','desc')->get(); 
        }                        
        $nomoi = \App\Nomoi::orderby('name')->get();
        return view('front.gegonota', compact('gegon','gid','cid','nid','nomoi'));
    }

在第一个中,如果所有变量都为null,则结果是表的所有记录的集合。 在所有其他情况下,如果(其他情况)结果是构建器而我没有得到任何结果,

它没有显示任何错误,但没有给出任何结果。

任何帮助都会为我节省很多时间。

1 个答案:

答案 0 :(得分:1)

查询构建器的get()方法返回记录集合。在您的代码中,您只需在空中调用get()方法,因此它什么都不做。您应该将其分配给变量或在表达式中使用它。

来源:https://laravel.com/docs/5.4/eloquent#collections