SupplierService.php 908 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Services;
  3. use App\Traits\ServiceAppAop;
  4. use App\Supplier;
  5. use Illuminate\Database\Eloquent\Builder;
  6. use Illuminate\Support\Facades\Auth;
  7. use Illuminate\Support\Facades\Gate;
  8. class SupplierService
  9. {
  10. use ServiceAppAop;
  11. protected $modelClass=Supplier::class;
  12. public function screenSupplierIds(): array
  13. {
  14. $user=Auth::user();
  15. if (($user && $user->isSuperAdmin()) ||Gate::allows('供应商-可见全部')) return Supplier::query()->get()->map(function ($supplier){return $supplier->id;})->toArray();
  16. $suppliers=Supplier::query()
  17. ->whereHas('user',function($query)use($user){
  18. /** @var Builder $query */
  19. return $query->where('id',$user->id);
  20. })->get();
  21. if (isset($suppliers)) return $suppliers->map(function ($supplier){
  22. return $supplier->id;
  23. })->toArray();
  24. }
  25. }