Php Laravel-多重关系雄辩

Php Laravel-多重关系雄辩,php,mysql,laravel,model,eloquent,Php,Mysql,Laravel,Model,Eloquent,我刚开始学习拉威尔,我正在与雄辩的人际关系斗争! 我有两张桌子,它们都是多层次的: Paginas- IdPagina PK 名字 母公司 例如: idPagina name parent 1 A Null 2 B 1 分类- IDA蛋白激酶 名字 母公司 IdPagina-FK 例如: 嗯…所以我想得到这样的东西: 双亲 (A)子女 (B)儿童 D-(C)儿童 然后是Paginas模型: class

我刚开始学习拉威尔,我正在与雄辩的人际关系斗争! 我有两张桌子,它们都是多层次的:

Paginas-

  • IdPagina PK
  • 名字
  • 母公司
例如:

  idPagina  name   parent 
  1          A      Null
  2          B       1
分类-

  • IDA蛋白激酶
  • 名字
  • 母公司
  • IdPagina-FK

    例如:

嗯…所以我想得到这样的东西:

  • 双亲

  • (A)子女

  • (B)儿童

  • D-(C)儿童

然后是Paginas模型:

  class Paginas extends Eloquent{    

     public function children() {         
         return $this->hasMany('app\paginas', 'parent', 'idPagina');
         } 

          public static function tree() {
         return static::with(implode('.', array_fill(1, 10, 'children')))->where('parent', '=', null)->get();

       }}

和分类模型:

class Categoria extends Eloquent{




 public function children() {
 return $this->hasMany('app\categoria', 'parent', 'idCategoria');

    }

     public static function tree() {

 return static::with(implode('.', array_fill(1, 10, 'children')))->where('parent', '=', null)->get();

 }
}
现在我只想加入两个表

已编辑

我刚刚添加了斯蒂芬·刘易斯建议的代码! 但是现在我不能得到我想要的多级,这是刀片代码

@foreach($paginas as $pagina)
  <h1>{{$pagina -> nomePag}}</h1>
   @foreach ($pagina -> children as $child)
     <h3>{{$child -> nomePag}}</h3>
     @foreach($pagina -> categorias as $categoria)
         {{$categoria -> nomeCat}}
     @endforeach
   @endforeach
@endforeach
@foreach($paginas$pagina)
{{$pagina->nomePag}
@foreach($pagina->childrenas$child)
{{$child->nomePag}
@foreach($pagina->categorias$categoria)
{{$categoria->nomeCat}
@endforeach
@endforeach
@endforeach

好吧,我就是无法获得与$pagina->children相关的$categoria,请将此添加到
categoria
类:

public function pagina()
{
    return $this->belongsTo('Pagina', 'idPagina');
}
public function categorias()
{
    return $this->hasMany('Categoria', 'idPagina');
}
您还可以通过将其添加到
Pagina
类中来指定关系的另一端:

public function pagina()
{
    return $this->belongsTo('Pagina', 'idPagina');
}
public function categorias()
{
    return $this->hasMany('Categoria', 'idPagina');
}

有关如何处理雄辩的人际关系的更多信息,请访问。

谢谢您的代码!希望你现在能帮助我,我编辑了这个问题;)最里面的循环应该是
@foreach$child->categorias
好的,先别管嵌套循环了。不同的关系是独立运作的吗?
$pagina->categorias
是否返回类别集合,
$categoria->pagina
是否返回单个页面,等等?是的,除了嵌套循环外,所有操作都正常。。。问题是,我在第三个循环和第二个循环中没有链接……并且不知道如何做好链接应该是你在第三个循环中使用
@foreach$child->categorias
(据我所知),但你说这不起作用。雄辩是否返回任何错误?