在Laravel 5中的select查询中使用属性值

Model Event -> id, guests_count, status. Model Guest -> id, event_id, confirmed.

I need something like this:

Event::where('status', 'opened')->whereNotIn('id', $nId)
                        ->has('guests', '<' , XXX)
                        ->get();

Instead XXX I need to use guests_count value - different value for each event - is this possible?

I'm trying to get all not filled events (count of guests relation < guests_count).

I'm using Laravel 5.4.

Use this:

Event::where('status', 'opened')->whereNotIn('id', $nId)
    ->withCount('guests as count')
    ->having('guests_count', '>', DB::raw('`count`'))
    ->get();

did you need this ?

Event::select([DB::raw('count(guests) as count'),'id'])
    ->where('status','opened')
    ->whereNotIn('id', $nId)
    ->groupBy('guests')
    ->having('count','>',10)
    ->get();

sql output

select count(guests) as count, `id` from `event` where `status` = 'opened' and `id` not in ([1,2,3]) group by `guests` having `count` > 10