我有一个子查询的以下工作查询工作正常我想转换为Eloquent因为我想坚持我的用户模型的其他关系
router-outlet
我已经有一个由(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');
}
输出应该返回所有具有一个Property和property匹配当前日期的用户。
在用于测试目的的原始查询中,我使用的是常量
答案 0 :(得分:0)
实际上似乎像
一样User::whereHas('properties', function($query){
$query = $query->where('von', '=', Carbon::now()->format('Y-m-d'))
->havingRaw('count(account_id) = 1')
->with('department');
})->get();