Я хочу обновить контактную информацию в базе данных Я получаю идентификатор контакта (переменная $ contactid) из DOM, он передается моей функции (postEditContact). Я знаю это, потому что я пробовал использовать функцию delete (), и она работала нормально, но я пробовал много разных подходов, не могу заставить ее работать для обновления контакта. Если я использую переменные $ contactid и $ request вроде этого postEditContact ($ contactid, Request $ request), я получаю ошибку слишком мало аргументов. Если я передаю только переменную $ contactid, я получаю ошибку undefined variable $ request. Пожалуйста помоги
public function postEditContact($contactid, Request $request)
{
$this->validate($request, [
'newname' => 'required|max:140'
]);
$contact = Contact::where('id', $contactid)->first();
$contact -> name = $request['newname'];
$contact -> email = $request['newe_mail'];
$contact -> phone = $request['newphone'];
$contact -> address = $request['newaddress'];
$contact -> other = $request['newother'];
$contact -> isuser = false;
$contact -> update();
return redirect()->route('contacts');
}
вы должны передать {$ contactid} при обновлении и убедиться, что вы отправляете данные публикации.
не могли бы вы показать свои маршруты, пожалуйста.
Большое спасибо за ответ! первый маршрут - от DOM к контроллеру, который перенаправляет на новое представление с передаваемыми переменными, а второй - для отправки Route :: get ('/ edit / {contactid}', ['uses' => 'ContactController @ getEdit', 'as' => 'редактировать', 'промежуточное ПО' => 'auth']); Route :: post ('/ editcontact', ['uses' => 'ContactController @ postEditContact', 'as' => 'contact.edit', 'middleware' => 'auth']);
Это функция, которая передает переменную public function getEdit ($ contactid) {$ this-> postEditContact ($ contactid); вернуться в вид ('layout.edit'); }






Проблема заключалась в том, что я пытался передать переменную из одной функции и использовать эту переменную и $ request в другой функции. Я не думаю, что смогу это сделать. Я передал переменную в представление с помощью первой функции, потому что оно все равно открывало представление, и из этого представления я передал переменную в другую функцию с маршрутом и переменной. Это решило проблему.
как насчет вашей html / формы и маршрута?