Laravel 雄辩的建设回报太多的结果
我的DesignsController中有以下代码:Laravel 雄辩的建设回报太多的结果,laravel,eloquent,Laravel,Eloquent,我的DesignsController中有以下代码: public function show($id) { return Design::find($id)->with('variables')->get(); } 当我得到/designs/1时,我应该只得到id=1的设计的json,但是我得到了所有当前的设计 在设计模型中: /* Define relationship between designs and variables */ public function v
public function show($id)
{
return Design::find($id)->with('variables')->get();
}
当我得到/designs/1时,我应该只得到id=1的设计的json,但是我得到了所有当前的设计
在设计模型中:
/* Define relationship between designs and variables */
public function variables()
{
return $this->hasMany('Variable');
}
routes.php文件:
Route::resource('designs', 'DesignsController');
我做错了什么
编辑:更多信息。只要我点击了一个实际设计的id,我就会得到所有的结果,所以它似乎是根据id找到结果,但随后返回所有结果
如果我用('variables')->get()删除->代码>那么这就行了,但我也需要变量。以下是设计模型:
class Design extends Eloquent {
/* Define relationship between designs and variables */
public function variables()
{
return $this->hasMany('Variable');
}
/* Define relationship between designs and variables */
public function user()
{
return $this->belongsTo('User');
}
}
可变模型:
class Variable extends Eloquent {
public $timestamps = false;
}
您的“with”语句不正确:
急负荷:
public function show($id)
{
return Design::with('variables')->find($id);
}
实际上,我认为您的问题在于在find()之后调用get(),因为find已经返回了一个模型。应该在生成的查询结束时调用Find,因为它实际上在查询内部调用get()
懒惰渴望的选择:
public function show($id)
{
return Design::find($id)->load('variables');
}
如果可以,请包括变量模型。问题可能就在那里。那里没有太多,但我编辑了这篇文章,把它包括进去。啊,太棒了。谢谢。@Babbagei oh更正了答案,问题是首先调用find()。