Параметры URL маршрутизации Laravel с запросом POST - PullRequest
0 голосов
/ 02 февраля 2019

Если у меня есть маршрут, подобный следующему.

Route::post('/user/{id}', 'UserController@my_function');

Как настроить функцию контроллера таким образом, чтобы я мог использовать параметр URL и данные тела запроса POST?Я ожидаю, что он будет похож на приведенный ниже код, но это правильно?

public function my_function($id, Request $request){}

Ответы [ 3 ]

0 голосов
/ 02 февраля 2019

То, как вы делаете, правильно в соответствии с документами Laravel.

Если ваш метод контроллера также ожидает ввода от параметра маршрута, перечислите аргументы маршрута после других зависимостей.Например, если ваш маршрут определен так:

 Route::put('user/{id}', 'UserController@update');

Вы все еще можете напечатать подсказку Illuminate \ Http \ Request и получить доступ к параметру id, определив метод контроллера следующим образом:

Вот пример использования данных, которые вы отправляете:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * Update the given user.
     *
     * @param  Request  $request
     * @param  string  $id
     * @return Response
     */
    public function update(Request $request, $id)
    {
       $request->all() // here you're acessing all the data you send it
       $user = User::find($id) // here you're getting the correspondent user from the id you send it

    }
}

Для получения дополнительной информации: Документы

0 голосов
/ 02 февраля 2019

Когда вы когда-либо выставляете свои аргументы url подобным образом, вы должны использовать параметр запроса get для его передачи, например, localhost: 3000 / user / 1

Route::get('/user/{id}', 'UserController@my_function');

public function my_function($id){ //do something }

Но если вы передаете идентификатор под трюмом, то есть скрытый через почту.

Route::post('/user', 'UserController@my_function');

public function my_function(Request $request){ // do something $request->id }

Возможно, это то, что вы хотелиделать

Route::put('user/{id}', 'UserController@my_function');

public function my_function($id){ //do something }

0 голосов
/ 02 февраля 2019

это нормально, но я люблю передавать идентификатор, как это, когда я возвращаю представление

public function my_function(Request $request){
return view('myfile',['id'=>$id]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...