laravel查询重复的数据_laravel Eloquent 多个字段关联同一个表后的重复查询问题?
laravel Eloquent 多个字段关联同一个表后的重复查询是否可以进一步优化?
class Bill extends Model
{
/**
- 与经办人关联关系
*/
public function operateUser()
{
return $this->belongsTo(‘App\Models\User’, ‘operate_user_id’);
}
/**
- 与制单人关联关系
*/
public function docomentUser()
{
return $this->belongsTo(‘App\Models\User’, ‘document_user_id’);
}
/**
- 与审核人关联关系
*/
public function checkUser()
{
return $this->belongsTo(‘App\Models\User’, ‘check_user_id’);
}
}
查询语句示例
$bills = BillModel::with(‘operateUser’, ‘docomentUser’, ‘checkUser’])->find(1);
当 operate_user_id,document_user_id,check_user_id 都是 1的时候,会产生三条相同的sql语句
select * from users
where users
.id
in (‘1’) and users
.deleted_at
is null
感觉这个挺浪费的,如果能够进行相同语句判断,然后只查询一次就好了;
刚用laravel时间还不久,不知laravel是否内置了去重的功能?