【发布时间】:2015-05-19 20:35:22
【问题描述】:
我刚开始学习 laravel,我正在为 Eloquent Relations 苦苦挣扎! 我有两张表,它们都是多级的:
分页-
- 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's)Child
C -(B 的)孩子
D - (C's) 孩子
然后我有 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();
}
}
现在我只想加入两个表!
已编辑
好吧,我刚刚添加了 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
【问题讨论】:
标签: php mysql laravel model eloquent