以下是我模特的关系:
音乐会
客户
场地属于音乐会(一对多)
Timeslots属于场地(一对多)
门票(多对多客户和时段)
我正在尝试将多个时间段关系的计数作为我的模型Venue的范围方法中where子句的一部分。
public function scopeGetConcertVenuesThatHaveSlotsRemains($query, $concert_id)
{
$query->where('concert_id', $concert_id);
$query->whereHas('timeslots', function ($query2) {
$query2->where('slots', '>=', "Ticket.counts");
});
}
如何获取Ticket.counts值?
答案 0 :(得分:2)
我自己得到了答案。
public function scopeGetConcertVenuesThatHaveSlotsRemains($query, $concert_id)
{
$query->where('concert_id', $concert_id);
$query->whereHas('timeslots', function ($query2) {
$query2->withCount('customers')->whereColumn('slots', '>', 'customers_count');
});
}