Я новичок в Laravel Framework.Я просто хочу знать, как связать две области из моей модели Match, вот две области:
public function scopeMainMatches($query){
return $query->where('matches.type','main');
}
public function scopeDotaMatches($query,$type){
return $query
->join('leagues','leagues.id','=','matches.id')
->select('matches.*')
->where('leagues.type',$type);
}
вот мой контроллер, который возвращает идентификатор лиги таблицы лиг:
public function showDotaMatches($ptr){
$_matches = \App\Match::mainMatches()
->whereNotIn('status',['ongoing','open'])
->get()
->load('league','teamA', 'teamB')
->where('league_id','1')
->sortByDesc('schedule')
->slice($ptr, 10);
то, что я хочу сделать, это
public function showDotaMatches($ptr,$request){
$_matches = \App\Match::mainMatches()
->dotaMatches($request-type)
->where('leagues.type','dota2') // instead of ('league_id','1')
, чтобы сделать код чистым.но когда я связал две эти области, он говорит о нарушении ограничения SQL, поскольку таблица соответствия и таблица лиг имеют статус и тип.Кто-нибудь, кто может помочь мне с этим?