如何在laravel中找到一个有关系的随机用户



我有下面的查询,我正在生成一个随机用户。

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-关系存在

最新更新