多次加入laravel雄辩

时间:2014-05-13 15:24:34

标签: php laravel eloquent

关于 Laravel's Eloquent ORM 的问题。我已经看过SO了,如果我错过了类似的问题,我会道歉。

这些是我的模特:

class Formatos extends Eloquent {

    public function preguntas()
    {
        return $this->hasMany('\encuesta\Preguntas', 'fenc_id');
    }
}
class Preguntas extends Eloquent {

    public function alternativas()
    {
        return $this->hasMany('\encuesta\Alternativas', 'alt_id');
    }
}
class Alternativas extends Eloquent{


}

我的控制器方法是:

public function show($id)
{
    $formatos = encuesta\Formatos::find($id);
    $preguntas = $formatos->preguntas;
    $preguntas->alternativas;

    return View::make(
        'encuesta.formato.pregunta.show', 
        array('formatos' => $formatos)
    );
}

我想要以下结果:

FORMATO
    form_id
    form_info
    ...
    PREGUNTAS
        preg_id
        preg_descip
        ...
        ALTERNATIVAS
            alt_id
            alt_alterna
            ....

我发现并且我没有取得好成绩,请有人帮助我

1 个答案:

答案 0 :(得分:4)

你可以试试这个:

$formatos = encuesta\Formatos::with('preguntas.alternativas')->find($id);