Laravel 雄辩的建设回报太多的结果

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

我的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 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()。