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