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

I am new to laravel and trying to have a result. My code is this:

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'));
    }

In the first, if when all variables are null the result is a collection of all the records of the table. In all other, if (other cases) the result is a builder and I get no results,

It doesn't show any error but gives no results.

Any help would save me a lot of time.

查看全部
dongzhi4073
dongzhi4073
2017/07/20 22:22
  • laravel
  • builder
  • php
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

1个回复