Php Laravel 5.4如何更新已登录的申请客人的个人资料

Php Laravel 5.4如何更新已登录的申请客人的个人资料,php,laravel,laravel-5,laravel-5.4,Php,Laravel,Laravel 5,Laravel 5.4,我是laravel的新手,我想让用户在登录时更新其个人资料。我想在更新用户配置文件时获取该用户的ID,但当我单击“编辑”视图以使用ID传递数据时,我出现以下错误: 以下是我的控制器的代码: public function edit($id) { $applicant = $this->applicantRepository->findWithoutFail($id); if (empty($applicant)) {

我是laravel的新手,我想让用户在登录时更新其个人资料。我想在更新用户配置文件时获取该用户的ID,但当我单击“编辑”视图以使用ID传递数据时,我出现以下错误:

以下是我的控制器的代码:

public function edit($id)
    {
        $applicant = $this->applicantRepository->findWithoutFail($id);

        if (empty($applicant)) {
            Flash::error('Applicant');

            return redirect(route('applicant.home'));
        }

        return view('applicant-dashboard.edit')->with('applicants', $applicant);
    }

    public function update($id, UpdateApplicantRequest $request)
    {
        $applicant = $this->applicantRepository->findWithoutFail($id);

        if (empty($applicant)) {
            Flash::error('Applicant not found');

            return redirect(route('applicant.index'));
        }

        $input = $request->all();

        $cashier = $this->applicantRepository->update([
            'name' => $input['name'],
            'email' => $input['email'],
            'password' => bcrypt($input['password']),
            'address' => $input['address'],
            'cellphone_no' => $input['cellphone_no']], $id);

        Flash::success('Profile updated successfully.');

        return redirect(route('applicant.index'));
    }
以下是我的路由文件中的代码:

Route::get('/edit', 'HomeController@edit')->name('applicant.edit');
以下是我的刀片文件中的代码:

@extends('layouts.app')

@section('content')
    <section class="content-header">
        <h1>
            Applicant Profile
        </h1>
   </section>
   <div class="content">
       {{-- @include('adminlte-templates::common.errors') --}}
       <div class="box box-primary">
           <div class="box-body">
               <div class="row" style="padding-left: 20px">
                   {!! Form::model($applicant, ['route' => ['applicant.update', $applicant->id], 'method' => 'patch']) !!}

                        @include('applicant-dashboard.fields')

                   {!! Form::close() !!}
               </div>
           </div>
       </div>
   </div>
@endsection
@extends('layouts.app'))
@节(“内容”)
申请人简介
{{--@include('adminlte-templates::common.errors')--}
{!!Form::model($applicator,['route'=>['applicator.update',$applicator->id],'method'=>'patch'])
@包括('applicator-dashboard.fields')
{!!Form::close()!!}
@端部

您需要将
id
传递到您的路线:

Route::get('/edit/{id}', 'HomeController@edit')->name('applicant.edit');

将ID传递到web.php:

Route::get('edit/{ID}', 'HomeController@edit')->name('applicant.edit');

我更改了它,但它显示:缺少[Route:applicator.edit][URI:applicator/edit/{id}]所需的参数。请将该错误的屏幕截图添加到您的帖子中好吗?我有一种感觉,你没有把身份证传递到某个地方的路线上。在你完成后,我会更新我的答案。在你的menu.php文件中,你必须有一个链接来编辑你的“申请人”是吗?所以,改变它,这样你也通过了申请人。比如:路线('applicator.edit',$applicator);很抱歉没有突出显示,我在手机上找不到回音。至少你可以帮忙。顺便说一句,我将把我的路线改为路线('applicator.edit',$applicator);在我的菜单文件中,将my web.php路由到/edit/{applicator}中,就像这样吗?至少您可以帮忙。顺便说一句,我将把我的路线改为路线('applicator.edit',$applicator);在我的菜单文件和ro中,我的web.php路由到/edit/{applicator}像这样?我这样做了,它在我的menu.blade.php中显示未定义的变量id,但我试图在我的控制器中传递用户登录的id
Route::get('edit/{ID}', 'HomeController@edit')->name('applicant.edit');