如何在 Laravel 5 中更新数据


how to update data in laravel 5?

我在拉拉维尔中的html表单 5.如何以拉拉维尔形式显示和编辑数据。

 {!!  Form::open(array('url' => 'addstaff','class'=>'form-signin')) !!}
            <div class="row" style="margin-top:-20px;">
                <div class="col-md-12">
                    <h1 class="page-head-line">&nbsp;Staff
                    <div class="col-sm-12" style="font-size:12px">
                            <div class="row" style="margin-top:20px;">
                                <div class="form-group col-sm-2 col-xs-6">
                                <label>Title&nbsp;</label>
                               {!!  Form::select('title', array('1' => 'Select', 'Mr.' => 'Mr.', 'Mrs.' => 'Mrs.','Miss' => 'Miss'), null, ['class' => 'form-control']);  !!}
                                </div>
                                <div class="form-group col-sm-5 col-xs-6">
                                    <label>First Name&nbsp;</label>
                                {!!  Form::text('fname','',array('class' => 'form-control' ,'id' => 'fname' , "placeholder" => 'First Name')) !!}
                                </div>
                                <div class="form-group col-sm-5 col-xs-6">
                                    <label>Second Name&nbsp;</label>
                                    {!!  Form::text('sname','',array('class' => 'form-control' ,'id' => 'fname' , "placeholder" => 'Second Name')) !!}
                                </div>
                                <div class="form-group col-sm-3 col-xs-6">
                                    <label>Aadhar </label>
                                    {!!  Form::text('Aadhar','',array('class' => 'form-control' ,'id' => 'Aadhar' , "placeholder" => 'Aadhar Card No.')) !!} 
                                </div>
                                <div class="form-group col-sm-3 col-xs-6">
                                    <label>PAN Card </label>
                                     {!!  Form::text('pan','',array('class' => 'form-control' ,'id' => 'Aadhar' , "placeholder" => 'PAN Card No.')) !!}
                                </div>
                                <div class="form-group col-sm-3 col-xs-6">
                                    <label>Mobile No.</label>
                                     {!!  Form::text('mobile','',array('class' => 'form-control' ,'id' => 'mobile' , "placeholder" => 'Mobile No.')) !!}
                                </div>
                                <div class="form-group col-sm-3 col-xs-6">
                                    <label>Password</label>
                                    {!!  Form::password('Password',array('class' => 'form-control' ,'id' => 'Password' , "placeholder" => 'Password')) !!} 
                                </div>
                                <div class="form-group col-sm-4 col-xs-6">
                                    <label>Address 1</label>
                                     {!!  Form::text('Address1','',array('class' => 'form-control' ,'id' => 'Address1' , "placeholder" => 'Address 1')) !!}
                                </div>
                                <div class="form-group col-sm-4 col-xs-6">
                                    <label>Address 2</label>
                                  {!!  Form::text('Address2','',array('class' => 'form-control' ,'id' => 'Address1' , "placeholder" => 'Address 2')) !!}  
                                </div>
                                <div class="form-group col-sm-4 col-xs-6">
                                    <label>Address 3</label>
                                   {!!  Form::text('Address3','',array('class' => 'form-control' ,'id' => 'Address3' , "placeholder" => 'Landmark')) !!}   
                                </div>
                                <div class="form-group col-sm-3 col-xs-6">
                                    <label>City / Town</label>
                                    {!!  Form::text('city','',array('class' => 'form-control' ,'id' => 'city' , "placeholder" => 'City / Town')) !!}   
                                </div>
                                <div class="form-group col-sm-3 col-xs-6">
                                    <label>Pincode</label>
                                   {!!  Form::text('Pincode','',array('class' => 'form-control' ,'id' => 'Pincode' , "placeholder" => 'Pincode')) !!}      
                                </div>
                                <div class="form-group col-sm-3 col-xs-6">
                                    <label>State</label>
                                   {!!  Form::text('State','',array('class' => 'form-control' ,'id' => 'State' , "placeholder" => 'State')) !!}   
                                </div>
                            </div>
                            <div class="text-center">  {!!  Form::submit('Submit', array('class'=>'btn btn-primary btn-md')) !!}</div>
                        </div>
                       <br clear="all">
                        @if(Session::has('successs'))
              <div class="alert text-center alert-success" style="font-size:12px;">
                {!!Session::get('successs')!!} 
                  </div>
           @endif 

           @if(Session::has('error'))
              <div class="alert alert-danger">
                    {!!Session::get('error')!!} 
                     </div>
           @endif  
                    </h1>
                </div>
            </div>
          {!! Form::close() !!}   

然后在编辑链接中,我已经编写了代码

<a href="<?php echo 'Editstaff/'.$row->staff_id; ?>" class="btn btn-xs btn-info" >Edit</a>

然后在路由文件中,我编写了这样的代码

Route::get('Editstaff/{id}', 'HomeController@Editstaff');

然后在控制器文件中,我编写了类似

public function Editstaff($id)
{
     $editdata = DB::table('staff')->where('staff_id','=',$id)->first(); 
    return View::make('staff',array('list' => $editdata));
}   

我想更新数据首先显示从单击编辑链接开始..有人可以帮助我吗?

首先要做的是:你正在使用一个表单,以我的拙见,id应该放在表单的隐藏字段中......无论如何,您可以通过$request变量访问表单数据。更改方法的签名,如下所示:

public function Editstaff(Request $request, $id)

并记住在控制器的头部包含 Illuminate''Http''Request 类和 use 语句(显然在命名空间之后)。

使用给定的 ID 加载记录,如下所示:

$staff = Staff::find($id);

考虑使用 Staff::findOrFail($id),如果找不到给定 id 的记录,则(如方法名称所示)将失败。下一步包括在获取的模型上设置数据,就像插入一样:

$staff->myField = $request->input('myField');

然后调用模型的保存方法

$staff->save()

还有另一种方法可以达到相同的目标。在此处查看Laravel文档以获取有关保存和更新模型的更多信息。你也应该在这里查看响应章节

路线

Route::get('Editstaff/{id}', 'HomeController@Editstaff');

控制器

      public function Editstaff(Request $request) 
      {
        $editdata = array(
                  $title = $request->input('title');
        );
        DB::table('staff')->where('id', $id)->update($editdata );
        Session::flash('message', 'Data update successfully');
        return redirect('addstaff');
      }