У меня есть следующий рабочий запрос с подзапросом, который отлично работает. Я хотел бы перейти к Eloquent, потому что я хотел бы сохранить другую связь с моей моделью пользователя.
select * from (
select p.from, a.account_id, count(*) as num
from accounts as a
inner join accounts_prop as p on (a.account_id = p.account_id)
group by p.account_id
having num = 1 ) query
where year(query.von) = 2017
У меня уже есть модель пользователя, представленная (таблица accounts
), и модель свойств, представленная (таблица properites
).
User -> Property
отношение один ко многим
Пользователь
public function properties()
{
return $this->hasMany('App\Property', 'account_id', 'account_id');
}
Свойство
public function user()
{
return $this->belongsTo('App\User', 'account_id');
}
Вывод должен вернуть всех пользователей, у которых есть одно свойство, и свойство соответствует текущей дате.
В моем необработанном запросе для целей тестирования я использовал постоянный год