2016-07-27 3 views
0

Я извлекаю данные из таблицы в одну форму, используя laravel 5.2 для редактирования или обновления существующих данных. Но когда я нажимаю на кнопку обновления, она не обновляется. Может кто-нибудь, пожалуйста, помогите мне узнать ошибку, которую я сделал в своем коде. Моя редактировать форма add.blade.php приводится нижеКак написать запрос на обновление в laravel 5.2

@extends('app') 

@section('content') 

    <div class="templatemo-content-wrapper"> 
     <div class="container"> 
      <ol class="breadcrumb"> 
       <li><a href="{{ url("/") }}"><font color="green">Home</font></a></li> 
       <li class="active">View/Edit Group</li> 
      </ol> 
      <div class="row"> 
       <div class="col-md-8 col-md-offset-2"> 
        <div class="panel panel-success"> 
         <div class="panel-heading">View/Edit Group Information</div> 
         <div class="panel-body"> 
          @if (count($errors) > 0) 
           <div class="alert alert-danger"> 
            <strong>Whoops!</strong> There were some problems with your input.<br><br> 
            <ul> 
             @foreach ($errors->all() as $error) 
              <li>{{ $error }}</li> 
             @endforeach 
            </ul> 
           </div> 
          @endif 

          <form class="form-horizontal" role="form" method="POST" action="{{ url('group/update/') }}"> 
           <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
@foreach($groups as $grp) 
           <div class="form-group"> 
            <label class="col-md-4 control-label">Group ID</label> 
            <div class="col-md-6"> 

             <input type="text" class="form-control" name="userID" value="{{ ($grp->groupID)}}"> 

            </div> 
           </div> 

           <div class="form-group"> 
            <label class="col-md-4 control-label">Group Name</label> 
            <div class="col-md-6"> 
             <input type="text" class="form-control" name="description" value="{{ ($grp->description) }}" > 
            </div> 
           </div> 

           <div class="form-group"> 
            <div class="col-md-6 col-md-offset-4"> 
             <button type="submit" class="btn btn-warning"> 
              Update 
             </button> 
            </div> 
           </div> 
@endforeach 
          </form> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
@endsection 

страницы контроллер GroupController.php является

public function edit($id) 
{ 
    try { 
     //Find the user object from model if it exists 
     $groups = DB::table('devicegroup')->where('groupID', '=', $id)->get(); 
     //$user = User::findOrFail($id); 
     //Redirect to edit user form with the user info found above. 
     return view('group.add')->with('groups', $groups); 


    } catch (ModelNotFoundException $err) { 
     //redirect to your error page 
    } 
} 

// Update Group 
public function update(Request $request) 
{ 
    try { 
     $data=DB::table('devicegroup') 
      ->where("groupID",$request['groupID']) 
      ->update(array("description"=>$request['description'] 
       )); 

     $groups = DB::table('devicegroup')->simplePaginate(10); 
     return view('group.groupAdmin')->with('groups', $groups); 
} catch (ModelNotFoundException $err) { 
     //Show error page 
    } 

} 

и routes.php является

Route::any('group/edit/{id}', '[email protected]'); 
Route::post('group/update', '[email protected]'); 

моя модель Group.php является

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Group extends Model 
{ 

    protected $table = 'devicegroup'; 
    /** 
    * The attributes that are mass assignable. 
    * 
    * @var array 
    */ 
    protected $fillable = [ 
     'groupID', 'description', 
    ]; 

    /** 
    * The attributes that should be hidden for arrays. 
    * 
    * @var array 
    */ 
    protected $hidden = [ 
     //'password', 'remember_token', 
    ]; 
} 
+0

Вы должны взглянуть на модели, а не сырым запросов к базе данных с eloquant – Vuldo

+0

жаль ?. можете ли вы четко указать –

+0

в своем коде обновления, в форме, в которой вы отправляете идентификатор пользователя и описание, но в функции контроллера вы получаете доступ к идентификатору groupID и описанию; не должны они быть такими же. – SJB

ответ

0

Если вы используете models:

$device = Group::where("groupID", "=", $request['groupID'])->first(); 
if ($device) 
{ 
     $device->description = $request['description']; 
     $device->save(); 
} 
else 
     echo "Can't find group"; 
+0

, когда я пишу вот так, получая ошибку «ОшибкаException в строке GroupController.php 101: Создание объекта по умолчанию из пустого значения» –

+0

Создали ли вы 'model' для вашей таблицы' Devicegroup'? – Vuldo

+0

да, название модели Group.php –

Смежные вопросы