Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel-无数据的递归关系_Laravel_Recursion_Eloquent_Relation - Fatal编程技术网

Laravel-无数据的递归关系

Laravel-无数据的递归关系,laravel,recursion,eloquent,relation,Laravel,Recursion,Eloquent,Relation,我正在使用3个模型,分别是Panel、Item和PanelContent。 PanelContent有3个属性: 家长id(谁是小组成员) 可满足的\u id(谁是面板或项目) 可满足的_类型(定义子项是面板还是项目) 我希望递归地循环我的关系,以将数据作为树。为此,我编写了以下函数: 小组内容: public function contentable(): MorphTo { return $this->morphTo(); } public function conten

我正在使用3个模型,分别是Panel、Item和PanelContent。 PanelContent有3个属性:

  • 家长id(谁是小组成员)
  • 可满足的\u id(谁是面板或项目)
  • 可满足的_类型(定义子项是面板还是项目)
我希望递归地循环我的关系,以将数据作为树。为此,我编写了以下函数:

小组内容:

public function contentable(): MorphTo
{
    return $this->morphTo();
}

public function contentables()
{
    return $this->contentable()->with('allContents');
}
专家组:

public function contents(): HasMany
{
    return $this->hasMany(PanelContent::class, 'parent_id')->orderBy('order');
}

public function allContents()
{
    return $this->contents()->with('contentables');
}
当我调用“allContents”时,它工作正常,但我有一些数据不想保留

dd($parentPanel->allContents->toArray());
给我这个结果:

这里,我有Panel、Item和PanelContent的所有数据,但我不想获取PanelContent数据,这只是一个表,用于设置Panel和Item之间的所有关系

即使我将PanelContent用于关系,您是否有只保留面板和项目数据的想法


非常感谢您,祝您晚上愉快。

我也在寻找相同的功能。在cakePHP中,您可以定义查询中可以使用的递归级别,现在我需要在Laravel中执行相同的操作,以便它为我带来一个不需要关系的查询,以优化相同的时间。我也在寻找相同的功能。在cakePHP中,您可以定义查询中可以使用的递归级别,现在我需要在Laravel中执行相同的操作,以便它为我提供一个不需要关系的查询,以优化相同的时间。