如何在Laravel中定义内包模型和外包模型的多对多关系

时间:2018-03-27 15:40:40

标签: php laravel

如何定义内包模型和外包模型之间的关系?

例如: 当我创建一个Laravel包名称ArticleManager时,它将提供博客文章CRUD的一些功能。

使用我们的ArticleManager包的一些项目将建立User和Article之间的多对多关系。在我们的包中,特征可能对用户模型有用:

  public function articles()
    {
        return $this->belongsToMany('XXX/Article');
    }

但是如何或在何处声明“文章属于多个用户”? 我们无法在我们的包中的Article Model中编写这样的代码。

1 个答案:

答案 0 :(得分:0)

您可以使用配置文件:

public function users()
{
    return $this->belongsToMany(config('article_manager.users.model'));
}

使用配置文件 config / article_manager ,如下所示:

{
     users:
     {
          model: 'App\User'
     }
}