ErrorException в строке 32 RegistrationController.php: отсутствует аргумент 1 для App\Http\Controllers\RegistrationController::Edit()

Я новичок в laravel 5.3. Теперь я пытаюсь редактировать данные пользователя.

Мои маршруты:

 Route::get('/Edit/{id}','RegistrationController@Edit');

Просмотреть

 <td>
         {{ Html::link('/Edit', 'Edit', array('id' => $user->id,'class' =>'btn btn-info'), true)}} 
        </td>

Контроллер:

public function Edit($id)
    {
        echo $id;
    }

Когда я нажимаю кнопку «Изменить», я получаю сообщение об ошибке типа «NotFoundHttpException в строке RouteCollection.php 161:». Что со мной не так? Пожалуйста, помогите мне


person Shanu k k    schedule 26.12.2016    source источник
comment
$user=Пользователь::find($id);   -  person Mirza Obaid    schedule 26.12.2016
comment
@мизра-контроллер?   -  person Shanu k k    schedule 26.12.2016
comment
да, в контроллере вы должны найти идентификатор, который будет соответствовать идентификатору внешнего интерфейса   -  person Mirza Obaid    schedule 26.12.2016
comment
но все равно получите NotFoundHttpException в строке RouteCollection.php 161:   -  person Shanu k k    schedule 26.12.2016
comment
@MirzaObaid что-то не так с маршрутами?   -  person Shanu k k    schedule 26.12.2016
comment
Route::get('edituser/{id}',[ 'as'=› 'edit_user', 'uses' =› 'AdminController@edit' ]); вот как я писал маршруты   -  person Mirza Obaid    schedule 26.12.2016


Ответы (1)


Ваша ошибка в том, что вы не передаете идентификатор с маршрутом редактирования...

вам нужно сделать что-то вроде /Edit/{id}....

Для этого одним из способов является использование именованного маршрута.

Поскольку вы не передаете подстановочный знак, т.е. $id в ссылке, вы получаете эту ошибку.

В файле маршрута Не могли бы вы изменить на

Route::get('/Edit/{id}',['as'=>'EditUser','uses'=>'RegistrationController@Edit']);

И в представлении Изменить ссылку на

{{ Html::link("route('EditUser',[$user->id])", 'Edit', array('id' => $user->id,'class' =>'btn btn-info'), true)}} 

Надеюсь, это поможет вам. Спросите, есть ли сомнения

person Rohit shah    schedule 26.12.2016
comment
-спасибо, но я получаю сообщение об ошибке Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный «EditUser» (T_STRING), ожидание «,» или «)» (представление: C:\xampp\htdocs\laravel_demo\resources\views\pages\viewdetails.blade .php) - person Shanu k k; 26.12.2016
comment
может быть из-за отсутствия какой-либо кавычки или квадратных скобок. array('id' =› $user-›id, 'class' =›'btn btn-info'), true)}} - person Rohit shah; 26.12.2016
comment
-получить ошибку Неопределенное свойство: stdClass::$id (Вид: C:\xampp\htdocs\laravel_demo\resources\views\pages\viewdetails.blade.php) что не так? - person Shanu k k; 26.12.2016
comment
-localhost/laravel_demo/public/Edit/$user-›s_no url мне нужно 1,2,3 вместо $user-›s_no :-( - person Shanu k k; 26.12.2016
comment
извините, но я не могу понять, что вы говорите - person Rohit shah; 26.12.2016
comment
Давайте продолжим обсуждение в чате. - person Rohit shah; 26.12.2016