按用户角色获取基地

dev
Jing Li 2023-10-22 15:27:02 +08:00
parent a81c6e0e64
commit 91962e4b52
1 changed files with 9 additions and 9 deletions

View File

@ -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));