Как добавить переменные в request()-> all()? (Laravel 6.0)

У меня есть Laravel 6.0 с чем-то вроде этого, используя request()->all(); помощник для создания новой строки в базе данных...

$input = request()->all();
Service::create($input);

Я хочу добавить в него две переменные вручную, чтобы нам не нужно было добавлять их вручную. Я пробовал варианты этого...

$time = time();
$input = array_merge(request()->all(), ['serviceSite' => 'companyname', 'serviceOrderedTime' => $time]);
Service::create($input);

Есть ли способ сделать это с помощью request() помощник или мне нужно использовать альтернативный метод?

4 ответа

Решение

Попробуй это.

$time = time();
$input = $request->all();
$input['serviceSite'] = 'companyname';
$input['serviceOrderedTime'] = $time;
Service::create($input);

Убедиться serviceSite а также serviceOrderedTime заполняется в вашей модели.

ЕСЛИ вы хотите объединить его с $request тогда вы можете сделать вот так.

$request->merge(["key"=>"value"]);

Как твой путь.

  $time = time(); 
  $request->request->add(['serviceSite' => 'companyname','serviceOrderedTime'=>$time]);
  Service::create($request->all());

Вот как вы можете установить переменную в свой запрос:

$request->request->set('serviceSite', 'serviceSite');
$request->request->set('serviceOrderedTime', $time);

Чтобы разрешить массовое присвоение,serviceSite а также serviceOrderedTime может быть включен в ваш $fillable свойство модели.

Надеюсь, это поможет.

В laravel есть вспомогательная функция collection называется addВы можете использовать это так

$request->add(['serviceSite' => 'companyname']);
$request->add(['serviceOrderedTime' => $time]);
Service::create($request->all());

или вы можете сделать это обычным способом

$request = request()->all();
$request['serviceSite'] = 'companyName';
$request['serviceOrderedTime'] = $time;

Если вы пытаетесь добавить новое значение ключа в файл FormRequest, вы можете сделать это

      class CreateKubernetesRequest extends FormRequest
{

    public function rules()
    {
        $rules = [
            'zone' => 'required|exists:zone_offerings,name',
        ];
        $this->request->add(['version_id' => "SOME ID"]);

        return $rules;
        
    } 

}
Другие вопросы по тегам