Сохраняйте данные, используя модальную переменную $ id - PullRequest
0 голосов
/ 09 июня 2018

Я хочу передать идентификатор переменной из (the url is /xxxx/{{id}} ) для хранения

У меня есть модальное окно, которое открывает форму.Затем эта информация сохраняется с использованием контроллера, показанного ниже:

Я попытался добавить $id для прохождения через контроллер (the url is /xxxx/{{id}} )

OpenHome Controller

public function store(Request $request,$id)

    $option = new Option;
    $option->time = $request->input('time');
    $option->date = $request->input('date');
    $option->save();
    return view('option.create');

ОШИБКА: Ошибка типа: слишком мало аргументов для функции App \ Http \ Controllers \ option :: store (), 1 передано и ожидается ровно 2

dd ($ request-> all ());

array:3 [▼
  "_token" => "7O23EkldYOYj1d7Fc2xNflcPWMY67ytGTkrymy9g"
  "time" => "00:12"
  "date" => "12-05-1996"
]

1 Ответ

0 голосов
/ 09 июня 2018

В вашем вопросе вы подразумеваете обновление существующей записи, но в вашем коде это подразумевает создание новой опции.

Если вы хотите обновить опцию с $id = 1, вам нужно иметьследующий маршрут.

Route::put('/options/{id}', 'OptionController@update');

Внутри вашего контроллера.

public function update(Request $request, $id)
{
  $option = Option::find($id);
  $option->update([
    'time' => $request->input('time'),
    'date' => $request->input('date'),
  ]);

  // Redirect to display the list of options.
  return redirect('/options'); 
}

Однако, если вы просто хотите передать дополнительную переменную методу store для использования внутри метода store, убедитесь, чтоRoute имеет только один набор {} вокруг переменной.

Route::post('/option/{variable}', 'OptionController@store');

public function store(Request $request, $variable)
{
  // User the $variable passed as a route parameter.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...