laravel 如何从post表中获取category表的parent_id的名称

oxcyiej7  于 2023-03-19  发布在  Go
关注(0)|答案(2)|浏览(163)

我有以下表格中的“类别”表。
| 身份证|姓名|父代标识|
| - ------|- ------|- ------|
| 1个|学生|零|
| 第二章|教师|零|
| 三个|数学_学生|1个|
| 四个|理科学生|1个|
我在“Post”表中有下表。
| 身份证|姓名|类别标识|
| - ------|- ------|- ------|
| 1个|阿贾伊|三个|
| 第二章|莫汉|三个|
Post.php文件来自模型

public function category(){
            return $this->belongsTo(Category::class, 'category_id', 'id');
  }

如果我放置下面的代码,我将获得第三个ID的名称,即math_student。

$post->category->name

但我想获取类别的parent_id的名称,即“student
我试过下面的代码,但它是错误的。

$post->category->parent_id->name

请给我建议解决办法

wpcxdonn

wpcxdonn1#

您需要使用parent_id设置一个关系,以在Category自身中找到它的模型示例。
在Category.php模型中:

public function parent(){
    return $this->belongsTo(Category::class, 'parent_id', 'id');
}

之后,您将能够:

$post->category->parent->name;
rur96b6h

rur96b6h2#

在类别模型中,添加父关系:

public function parent(){
        return $this->belongsTo(Category::class, 'parent_id', 'id')->withDefault();
    }

然后,您可以获取父名称

$post->category->parent->name

相关问题