2017-04-07 7 views
0

나는이를 통해 가입자 모델Laravel 다형성 관계는 가지고 많은

// Subscriber Model 

id 
user_id 
subscribable_id 
subscribable_type 

public function user() 
{ 
    return $this->belongsTo('App\User'); 
} 

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

그리고 주제 모델

// Topic Model 

public function subscribers() 
{ 
    return $this->morphMany('App\Subscriber', 'subscribable'); 
} 

그리고

처럼 그들을 통지, 가입자 모델을 통해 모든 사용자를 얻을 싶어 알림 :: send ($ topic-> users, 새 Notification ($ topic));

// Topic Model 


public function users() 
{ 
    return $this->hasManyThrough('App\User', 'App\Subscriber'); 
} 

아이디어가 있으십니까?

+0

있어? – Jono20201

+0

예를 들어주세요. – Edward

+0

https://laravel.com/docs/5.4/eloquent-relationships#many-to-many – Jono20201

답변

-1

좋아, 난 더 나은 솔루션 당신이 사용 사례에 대한 피벗 테이블을 사용할 수 있습니다 생각

// Subscriber Model 

use Notifiable; 

public function receivesBroadcastNotificationsOn() 
{ 
    return 'App.User.' . $this->user_id; 
} 


// Send Notification 

Notification::send($post->subscribers, new TestNotification($post)); 
+1

이것은 알림 문제에 대한 해결책 일 수 있지만 HasMany Through Polymorphic 관계에 대한 질문에 대한 답이 아닙니다. – dparoli