2017년 11월 27일 7:24 오전 :
업데이트는 : 약간의 요구 사항을 변경하고 너무과 도움이 필요합니다 :
How to write this query in laravel query builder or eloquent or sql?이 관계 쿼리에 laravel eloquent를 어떻게 사용합니까?
참조 여기이 질문을 떠난다.
답변 해 주셔서 감사합니다.
나는 캠페인과 사용자간에 많은 관계가 있습니다. campaign_user
만 2 열 campaign_id
및 user_id
있습니다
Campagin.php
public function users()
{
return $this->belongsToMany('App\User');
}
User.php
public function campaigns()
{
return $this->belongsToMany('App\Campaign');
}
나는이 relatioship에 대한 피벗 테이블이있다.
다음으로 캠페인과 마커 사이에 일대 다 관계가 있습니다.
1 캠페인은 이제 URL을 /campaign/2/marker
에, 나는 아래 모든 마커를 얻으려면
Campaign.php
public function markers()
{
return $this->hasMany('App\Marker', 'campaign_id');
}
에게
public function campaign()
{
return $this->belongsTo('App\Campaign', 'campaign_id');
}
Marker.php을 많은 마커
있다 현재 사용자에게 속한 캠페인 2어떻게 이것을 달성하기 위해 웅변을 사용합니까? SQL에서
는 대략 다음과 같습니다 : 당신의current
사용자에 따라 캠페인
exists
여부에 대한
select * from markers where campaign_id in (select campaign_id from campaigns
left join campaign_user on (campaigns.id = campaign_user.campaign_id)
where campaign_user.campaign_id = 2 and campaign_user.user_id = 3);