0

我对 Laravel 6.x 的 ORM 有问题,让我们看看

我有两张桌子,例如:

:ID,名称,....

groups_tree_paths:祖先(group_id),后代(group_id),...

问题是 2 个组将有一个 groups_tree_path,例如:

第 1 组:'1','group_name_1',....

第 2 组:'2,'group_name_2',....

group_tree_paths:'id_group_1','id_group_2',....

那么我如何获得组并始终返回 group_tree_path ,例如:

第 1 组,group_three_path

第 2 组,group_three_path

通话时:Group::with('groupTreePath')

谢谢。

4

1 回答 1

0

在定义关系的情况下,您需要设置外键,该外键对于父模型必须是唯一的。您需要为“GroupTreePath”模型设置两个关系。一个是祖先,另一个是后代。

//Group.php

class Group extends Model
{
    public function ancestor()
    {
       return $this->hasOne(GroupTreePath::class, 'ancestor');
    }
    public function descendant()
    {
       return $this->hasOne(GroupTreePath::class, 'descendant');
    }
}

然后调用Group::with('ancestor','descendant')

于 2020-01-09T10:01:19.387 回答