Laravel FormRequest извлекает параметр из URL-адреса

#url #parameters #extract #laravel-formrequest

#url #параметры #извлечь #laravel-formrequest

Вопрос:

В моем update методе я использую FormRequest для проверки полей ввода. Мне также нужно передать и дополнительный параметр для unique правила проверки.

Я пытаюсь извлечь $subscriber переменную из url .

SubscriberController.php

 class SubscriberController extends Controller
{
  public function update(UpdateSubscriberRequest $request, $subscriber)
  {
    ...
  }
}
  

UpdateSubscriberRequest.php

 class UpdateSubscriberRequest extends FormRequest
{
  private $data       = [];
  private $subscriber = null;

  public function __construct()
  {
    $this->data       = request()->all();
    $this->subscriber = request()->route('subscriber');
  }

  public function rules()
  {
    return [
      ...

      'email'  => [
        'required', 
        ...
        "unique:subscribers,email,{$this->subscriber},token,company_id," 
          . session()->get('COMPANY_ID')
      ],
      'mobile' => [
        'required', 
        ...
        "unique:subscribers,mobile,{$this->subscriber},token,company_id,"
          . session()->get('COMPANY_ID')
      ],

      ...
    ];
  }
}
  

Хотя код работает нормально. Но правильно ли это сделать ..?