所以我一直在制作基于我遵循的一系列教程制作基本CMS的网络应用程序。但现在我正在开发自己的项目。
我正在进行一些更有说服力的电话,而且我不确定为什么这样做不好。
$session = \App\Sessions::where('user_id', '=', \Auth::user()->id)
->where('task_type', '=', 'Match Pictures')
->where('status', '=', 'started')->get();
return $session->session_id;
但是当我回来时:
return $session
我看到数组中的所有数据。
但是我一直在使用它来制作有用的教程应用程序。
$articles = Article::latest('published_at')->published()->get();
return $article->title;
那么为什么第一个不起作用,而第二个起作用呢?我怎么能这样做?
修改
我收到错误消息
MatchPictures.php第27行中的ErrorException:未定义的属性:Illuminate \ Database \ Eloquent \ Collection :: $ session_id
答案 0 :(得分:1)
get
会返回一个集合,因此您无法直接访问该集合。
使用get
来获取单个模型,而不是first
。那么你上面的代码应该可以工作。
或者,您可以使用value
方法,它执行相同的操作:
return App\Sessions::where([
'user_id' => auth()->id(),
'task_type' => 'Match Pictures',
'status' => 'started',
])->value('session_id');