Laravel Eloquent多表连接

4

关于Laravel的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)
    );
}

我希望得到以下结果:
格式
    表单ID
    表单信息
    ...
    问题
        问题ID
        问题描述
        ...
        选项
            选项ID
            选项内容
            ....
我发现并没有得到好的结果,请有人帮助我。
1个回答

7
你可以尝试这个方法:
$formatos = encuesta\Formatos::with('preguntas.alternativas')->find($id);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接