试图获得非对象的属性 - Laravel / Mongodb

时间:2017-03-23 10:03:49

标签: ajax mongodb laravel

我从Ajax调用我的函数,

 $loggedin=Session::get('userid');
    $proj_id= $request->proj_id;   
    $proje_wbs = Project_WBS::where('projectid', '=', $proj_id)
    ->where('subid','=',$loggedin)- >get();
    return $proje_wbs->wbs;

但它显示“试图获得非对象的属性”请求解决方案吗?

1 个答案:

答案 0 :(得分:0)

如果$proje_wbs存在,您必须先检查

$proje_wbs = Project_WBS::where('projectid', '=', $proj_id)
->where('subid','=',$loggedin)->get();

if ( $proje_wbs ) {
    return $proje_wbs->wbs;
}

然而,这仍然不会起作用,但错误会有所不同。因为您使用的是get(),所以您的查询将返回一个集合,这意味着$proje_wbs不是对象;因此,您无法访问$proje_wbs->wbs等属性。

如果您需要查询返回对象,请使用first()代替get()

$proje_wbs = Project_WBS::where('projectid', '=', $proj_id)
->where('subid','=',$loggedin)->first();

if ( $proje_wbs ) {
    return $proje_wbs->wbs;
}