where('quota_type', $quotaType) ->when(isset($params['id']) && $params['id'] !== '',function($query) use ($params){ $query->where('id', (int)$params['id']); }) ->when(isset($params['uid']) && $params['uid'] !== '',function($query) use ($params){ $query->where('uid', (int)$params['uid']); }) ->when(isset($params['order_id']) && $params['order_id'] !== '',function($query) use ($params){ $query->where('order_id', (int)$params['order_id']); }) ->when(isset($params['change_type']) && $params['change_type'] !== '',function($query) use ($params){ $query->where('change_type', (int)$params['change_type']); }) ->when(isset($params['source']) && $params['source'] !== '',function($query) use ($params){ $query->where('source', (int)$params['source']); }) ->when(isset($params['order_product_id']) && $params['order_product_id'] !== '',function($query) use ($params){ $query->where('order_product_id', (int)$params['order_product_id']); }) ->with([ 'user' => function($query){ $query->field('uid,nickname,avatar')->bind(['nickname','avatar']); }, ]) ->order('create_time DESC,id DESC'); } }