Php Laravel 4获得多个收藏

Php Laravel 4获得多个收藏,php,laravel,orm,model,eloquent,Php,Laravel,Orm,Model,Eloquent,我正在控制器中编写一个函数来返回json响应。这是我的职责: public function play($id){ $quiz = Quiz::find($id); $questions = $quiz->question()->get(); return Response::json(array( 'quiz' => $quiz, 'questions' => $quest

我正在控制器中编写一个函数来返回json响应。这是我的职责:

public function play($id){
        $quiz = Quiz::find($id);
        $questions = $quiz->question()->get();

        return Response::json(array(
            'quiz' => $quiz,
            'questions' => $questions));
    }
public function answer(){
        return $this->hasMany('Answer');
    }
public function question(){
        return $this->belongsTo('Question');
    }
这是完美的,但是,我也有相关问题的答案。 在我的
问题
模型中,我有一个
answer()
函数:

public function play($id){
        $quiz = Quiz::find($id);
        $questions = $quiz->question()->get();

        return Response::json(array(
            'quiz' => $quiz,
            'questions' => $questions));
    }
public function answer(){
        return $this->hasMany('Answer');
    }
public function question(){
        return $this->belongsTo('Question');
    }
在我的
Answer
模型中,我当然有我的
question()
函数:

public function play($id){
        $quiz = Quiz::find($id);
        $questions = $quiz->question()->get();

        return Response::json(array(
            'quiz' => $quiz,
            'questions' => $questions));
    }
public function answer(){
        return $this->hasMany('Answer');
    }
public function question(){
        return $this->belongsTo('Question');
    }
我如何得到答案?我不能使用

$answers = $question->answer()->get;
我不能用

//get the questions using query, but this returns nothing
$questions = Question::where('quiz_id', '=', $id);
$answers = $questions->answer()->get;
我希望我足够清楚,我尝试过搜索,但找不到任何东西,请任何人帮助:)?

您可以使用以获得答案嵌套在内部问题中的结果:

$questions = $quiz->question()->with('answer')->get();
如果您只想得到一个问题的答案,请执行以下操作:

$question = Question::find(1);
$answers = $question->answer()->get();
或者只需使用动态属性

$answers = $question->answer;


旁注:我建议你的名字
有很多复数关系<代码>答案
而不是
答案
。这在语义上更有意义,并且可以清楚地告诉您结果是一个集合还是一个模型。

Eager loading有效。关于旁注;记住这件事很好,谢谢。