Передача переменной и вызывающий запрос в той же функции, обновление сообщения в laravel

Я хочу обновить контактную информацию в базе данных Я получаю идентификатор контакта (переменная $ 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');
}

как насчет вашей html / формы и маршрута?

Anowar Hossain 27.05.2018 12:18

вы должны передать {$ contactid} при обновлении и убедиться, что вы отправляете данные публикации.

Anowar Hossain 27.05.2018 12:19

не могли бы вы показать свои маршруты, пожалуйста.

Oluwatobi Samuel Omisakin 27.05.2018 12:26

Большое спасибо за ответ! первый маршрут - от DOM к контроллеру, который перенаправляет на новое представление с передаваемыми переменными, а второй - для отправки Route :: get ('/ edit / {contactid}', ['uses' => 'ContactController @ getEdit', 'as' => 'редактировать', 'промежуточное ПО' => 'auth']); Route :: post ('/ editcontact', ['uses' => 'ContactController @ postEditContact', 'as' => 'contact.edit', 'middleware' => 'auth']);

JustisBogus 27.05.2018 13:15

Это функция, которая передает переменную public function getEdit ($ contactid) {$ this-> postEditContact ($ contactid); вернуться в вид ('layout.edit'); }

JustisBogus 27.05.2018 13:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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