2017-03-26 90 views
0

我有两个独立的表格发布者和促销。我的第三张表格促销通知包括促销ID和发布者ID。当我选择一项促销活动时,我想显示通知的发布者以及未通知的人员。如果你有其他方法,而不是使用第三表请告诉我。先谢谢你。使用第三张表连接两个laravel表

回答

1

你可以在你的出版商模型创建一个功能类似

public function promotion() 
    { 
     return self::join('promotion_notify', 'publishers.id', '=', 'promotion_notify.publishers_id') 
      ->join('promotions', 'promotion_notify.promotion_id', '=', 'promotions.id') 
      ->where('users.id', $this->id) 
      ->all(); 
    } 

如果它不;吨帮助做检查this

这可能是一个更好的主意,只使用2个表,并在类似模型中定义的关系:

public function promotion() 
    { 
     return $this->belongsTo('promotion'); 
    } 
+0

使用支点,我可以得到

在推广模式

public function publisher() { return $this->hasMany('publisher'); } 

在发行模式通知的发布者。你有什么想法让没有通知的发布者。 –

+0

你必须使用查询,这取决于你的模型。如果您有布尔值(1 =通知,0 =未通知),则您的查询将类似于: Publishers :: where('is_notified','1') - > get(); P.S is_notified是您的数据库中用于表示通知与否的列的名称 – Saurav