首页 > 解决方案 > 两个模型共享一个模型(帖子和产品共享类别)

问题描述

我正在做一个有一些产品的项目。这些产品中的每一个都属于一个类别。现在我必须在我的项目中添加一个帖子部分。每个帖子都属于一个明显不同于产品类别的类别。我想知道是否有办法将现有类别用于帖子,我必须制作不同的模型(例如 PostCategory)。

标签: laravel

解决方案


您可以从中获得帮助

产品型号

public function categories()
{
    return $this->morphMany('App\Category', 'categorizable');
}

后模型

public function categories()
{
    return $this->morphMany('App\Category', 'categorizable');
}

类别模型

public function categorizable()
{
    return $this->morphTo();
}

你的类别表应该是这样的

categories  (table)
    id - integer
    body - text
    categorizable_id - integer
    categorizable_type - string

在此处查看详细信息https://laravel.com/docs/5.6/eloquent-relationships#polymorphic-relations


推荐阅读