我有下面的查询,我正在生成一个随机用户。
User::inRandomOrder()
->where('role', 'lender')
->whereNotIn('id', $this->lender_ids)
->where('verified', 'verified')
->first();
现在,我想添加另一个where条件来检查用户是否至少有一个事务。这里的问题是,事务在另一个表中,我确实与用户和事务有一对多的关系,每个用户可以有多个事务,但一个事务只能属于一个用户。
现在,我想添加一个where条件,以确保这个随机用户必须至少有一个事务。那么我该怎么做呢?
我认为has
会解决你的问题,它会检查关系的存在,试试这个:
User::inRandomOrder()
->where('role', 'lender')
->whereNotIn('id', $this->lender_ids)
->where('verified', 'verified')
->has('transactions')
->first();
来源:https://laravel.com/docs/8.x/eloquent-relationships#querying-关系存在