Задача следующая - я делаю выборку из модели
$items = \App\Item::whereIn('id',[1,2,3,4]);
у каждого item есть отношение
public function relations()
{
return $this->hasMany(\App\Model\Relation::class);
}
и
public function user()
{
return $this->belongsTo(\App\User::class,'user_id','id');
}
Так вот, в мне нужно в любом виде (коллекция, массив и т.д.) получить количесво существующий отношений relations для каждого user.
У самого пока вариантов нет.
Тугодумы прости Господи. Пришлось воспользоваться обычным sql, а не заморачиваться с этим laravelем
$relations_count = \DB::table('items')
->leftJoin('relations', function($join)
{
$join->on('items.id', '=', 'relations.item_id');
$join->on('items.user_id','=','relations.user_id');
})
->select('items.id', \DB::raw('COUNT(relations.id) as relations_count'))
->whereIn('items.id', [1,2,3,4])
->groupBy('items.id')
->get();
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости