Мне нужно подсчитать результаты из двух разных условий, исходя из того же отношения, но оно возвращается как одно и то же имя.Laravel multiple withCount на те же отношения
Model::where('types_id', $specialism_id)
->withCount(['requests' => function ($query) {
$query->where('type', 1);
}])
->withCount(['requests' => function ($query) {
$query->where('type', 2);
}])
я могу получить доступ к withCount
с помощью $model->requests_count
, а потому, что это запрашивая такие же отношения, по-видимому, чтобы перезаписать его:
select count(*)
from `requests` where `requests`.`id` = `model`.`id`
and `type` = '1') as `requests_count`,
(select count(*) from `requests` where `requests`.`id` = `model`.`id`
and `type` = '2') as `requests_count`
Как я могу указать имя для нескольких withCount
?
Вариант 1 работал отлично. Большое спасибо Алексею. – Ben