按用户角色获取基地
parent
a81c6e0e64
commit
91962e4b52
|
|
@ -125,17 +125,17 @@ class AgriculturalBaseController extends Controller
|
|||
*/
|
||||
public function deviceBase(Request $request)
|
||||
{
|
||||
$deviceType = $request->input('device_type', DeviceType::Monitor);
|
||||
// $status = $request->input('status');
|
||||
/** @var \App\Models\AdminUser */
|
||||
$user = $request->user();
|
||||
$deviceType = $request->input('device_type', DeviceType::Monitor->value);
|
||||
$isRecommend = $request->input('is_recommended', 0) ?? 0;
|
||||
|
||||
$list = AgriculturalBase::filter($request->all())->whereHas('devices', function ($q) use ($deviceType, $isRecommend) {
|
||||
if($deviceType == DeviceType::Monitor || $deviceType == 1){
|
||||
if($isRecommend){
|
||||
$q->where('is_recommend', 1);
|
||||
}
|
||||
$q->where('status', 1);
|
||||
}
|
||||
return $q->where('type', $deviceType);
|
||||
$q->when($deviceType == DeviceType::Monitor->value, function ($q) use ($isRecommend) {
|
||||
$q->when($isRecommend, fn ($q) => $q->where('is_recommend', 1))->where('status', 1);
|
||||
})->where('type', $deviceType);
|
||||
})->when(! $user->isAdministrator(), function ($q) use ($user) {
|
||||
$q->whereRaw("id in (select base_id from admin_user_bases where user_id = {$user->id})");
|
||||
})->sort()->get();
|
||||
|
||||
return $this->json(AgriculturalBaseResource::collection($list));
|
||||
|
|
|
|||
Loading…
Reference in New Issue