2014-02-12 31 views
0

我不知道如果我有在标题正确的措辞,但是这是我所追求的:构建雄辩ORM输出与一对多的关系

我有一个“设计”表和一个'变量'表。这是一种一对多的关系,因此设计有很多变数。

如何获取数据作为单个json对象?

+0

你在哪里遇到麻烦?找到你需要的确切数据,或者你找到了它,并想知道如何将它作为json返回? – user3158900

+0

我无法将其作为单个对象返回。我可以单独检索它们:'$ design = Design :: find($ id);'和'$ variables = Design :: find($ id) - > variables;'但我希望它们作为单个json对象。 – babbaggeii

回答

0

我相信你的问题与你使用关系的方式有关。当您需要同时获得Design模型或Variables时,您只能获得这两个模型。

这将渴望加载设计的变量并将它们返回为json。

$data = Design::where('id', $id)->with('variables')->get(); 
return Response::json($data, 200); 
+0

这很完美,谢谢。 – babbaggeii

0

您的设计模式应该是这样的:

class Design extends Eloquent { 

    public function variables() 
    { 
     return $this->hasMany('Variable'); 
    } 

} 

然后,你的变量模型应该是这样的:

class Variable extends Eloquent { 

    public function design() 
    { 
     return $this->belongsTo('Design') 
    } 

} 

最后,无论走哪条路线,你正在使用返回这样的数据:

$design = Design::with('variables')->first(); 
return $design->toJson(); 

查看this link的顶部