Laravel 5.1 - 在一个表中的多个字段上有很多关系

时间:2015-12-08 11:17:40

标签: php laravel eloquent

我试图为hasMany关系返回正确的日期。 '正常'之间的区别有很多关系,我试图使用1个可供多个模型使用的表。

我有这样的设置(还有一些字段,但不重要)例如

消息:

  • ID
  • 标题

项目:

  • id
  • 标题

媒体:

  • ID
  • 文件
  • type(enum project / news)
  • TYPE_ID

我的模型中有以下结果:

var autoSave = function(){
 $interval(function(){
   creativeSave.push(saveSkin());
 }, 3000);
};

用以下结果获得结果:

public function media()
{
    return $this->hasMany('App\Media','type_id');
}

但是当我有一个与项目具有相同ID的新闻项时,这将返回错误的数据。有没有一种方法可以在项目和新闻模型中同时设置type = project || news?

1 个答案:

答案 0 :(得分:2)

你可能想要一个多态关系。 它会为您管理typeid字段,并根据这些字段进行查询。

Eloquent Relationships - Polymorphic