Laravel 4 使用::find()加载Laravel 4
假设我有两个表轮班和用户。每个Laravel 4 使用::find()加载Laravel 4,laravel-4,Laravel 4,假设我有两个表轮班和用户。每个shift都会有一个与之关联的用户。我想得到shift和用户的JSON返回。我尝试了以下命令: return Shift::find($id)->with('User')->get() 这不管用。然而,这确实: return Shift::where('id', '=', $id)->with('User')->get() 为什么??如何使用第一个命令?get和find都是执行方法。也就是说,它们将触发查询并返回结果。基本上,你不应该在一
shift
都会有一个与之关联的用户。我想得到shift和用户的JSON返回。我尝试了以下命令:
return Shift::find($id)->with('User')->get()
这不管用。然而,这确实:
return Shift::where('id', '=', $id)->with('User')->get()
为什么??如何使用第一个命令?
get
和find
都是执行方法。也就是说,它们将触发查询并返回结果。基本上,你不应该在一次通话中使用其中的两个。它要么是find
,get
,要么是first
,而不是它们的组合
find
将返回单个模型并基于模型的主键创建一个条件,通常where('id','=',$id)
get
将返回模型集合
首先
将返回单个模型
听起来你需要:
return Shift::with('user')->find($id);
其中,user
是您的Shift
模型上的关系方法
public function user()
{
return $this->belongsTo('User');
}