我有一个名为OfficeHours的模型,该模型具有各种属性,而模型User属于OfficeHours。我正在尝试从集合中获取特定元素,但在刀片中却一片空白。
public function office_hours() {
return $this->hasMany(OfficeHours::class);
}
public function user(){
return $this->belongsTo(User::class);
}
在Blade中,当我执行以下操作时:
{{$logged_in_user->office_hours->where('dow',2)}}
它可以正常工作并为我提供以下收藏:
{"2":{"id":3,"user_id":4,"dow":2,"fromtime":"07:00:00","totime":"16:00:00","created_at":"2019-01-31 14:48:32","updated_at":null}}
现在我如何获取该集合的元素?
我尝试过
{{$logged_in_user->office_hours->where('dow',2)->get('fromtime')}}
但是它让我空白
如何访问元素?
答案 0 :(得分:2)
作为序言,您不应该在view
文件中执行这种逻辑,这就是控制器的用途。您可以执行$fromtime = ...;
并将其通过return view(...)->with(["fromtime" => $fromtime]);
但是,话虽如此,您应该能够做到
{{ $logged_in_user->office_hours->where("dow", 2)->first()->fromtime }}
请注意,如果->where("dow", 2)
未返回Collection
,则将出错,因为null
上没有->first()
方法。