【发布时间】:2018-11-28 09:06:23
【问题描述】:
我有两个模型/表:publisher 和 campaign.
出版商
id | name
广告系列
id | name | PubID
我创建了一个关系来获取发布商的广告系列。
$this->hasMany(Campaign::class, 'PubID'); /* In Publisher Model */
我相信上述行将帮助我检索相关的广告系列,但我对反向关系感到困惑。
如您所见,publisher 表中没有键 campaign_id。下面的关系是否足以逆向?
return $this->belongsTo('App\Publisher'); /* In Campaign Model */
有人可以指导我吗?我会很感激的。
【问题讨论】:
-
您还需要在
belongsTo部分中指定外键名称,方法与在hasMany部分中的方式相同。 -
@apokryfos 正如我所说,
campaign表内没有publisher表的外键 -
不需要一个。事实上,如果关系是一对一的(这里不是这种情况),你只能在两个表上都有一个外键。
Campaign中的PubID足以定义关系的两端
标签: php laravel eloquent relationship