RuleHelper.php 733 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace App\Http\Requests;
  3. use App\Models\User;
  4. use Illuminate\Database\Query\Builder;
  5. use Illuminate\Support\Facades\Auth;
  6. trait RuleHelper
  7. {
  8. protected function userCompanyWhere(): \Closure
  9. {
  10. return fn (Builder $query) => $query->where('company_id', Auth::user()->company_id);
  11. }
  12. protected function usersCompanyRules(): array
  13. {
  14. return [
  15. 'array',
  16. function ($attribute, $value, $fail) {
  17. $userCount = User::where("company_id", Auth::user()->company_id)->whereIn('id', $value)->count();
  18. if ($userCount != count($value)) {
  19. $fail('The selected user is invalid.');
  20. }
  21. }
  22. ];
  23. }
  24. }