相关的$categoria
我刚开始学习laravel,我正在努力学习Eloquent Relationships!我有两张表,它们都是多层的:
寻呼-
- IdPagina PK
- 名称
- 家长
示例:
idPagina name parent
1 A Null
2 B 1
分类-
- IdCategoria PK
- 名称
- 家长
IdPagina-FK
示例:
idCategoria name parent idPagina 1 C Null 2 2 D 1 2
嗯。。。所以我想得到这样的东西:
A-母
B-(A)儿童
C-(B)儿童
D-(C)子
然后我有Paginas模型:
class Paginas extends Eloquent{
public function children() {
return $this->hasMany('apppaginas', '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('appcategoria', 'parent', 'idCategoria');
}
public static function tree() {
return static::with(implode('.', array_fill(1, 10, 'children')))->where('parent', '=', null)->get();
}
}
现在我只想加入两张桌子!
已编辑
好吧,我刚刚添加了Stephen Lewis建议的代码!但现在我无法获得我想要的多级,这是刀片代码
@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
好吧,我只是无法获得与$pagina->children
将其添加到Categoria
类:
public function pagina()
{
return $this->belongsTo('Pagina', 'idPagina');
}
您还可以通过将其添加到Pagina
类来指定关系的另一边:
public function categorias()
{
return $this->hasMany('Categoria', 'idPagina');
}
有关如何处理Eloquent关系的更多信息,请参阅文档。