2016-02-23 2 views
0

Я не могу обновить свою запись.Laravel 5.2 не может обновить запись

Мой контроллер

public function add() 
{ 
    return view('cars.add'); 
} 

public function edit($id) 
{ 
    $car = Cars::whereId($id)->firstOrFail(); 
    return view('cars.edit', compact('car')); 
} 

public function store(CarFormRequest $request) 
{ 
    $car = new Cars(array(
     'name' => $request->get('name'), 
     'color_id' => $request->get('color') 
    )); 

    $car->save(); 
    $car->position_id = $car->id; 
    $car->save(); 

    session()->flash('status', 'Successfully Added a Car!'); 
    return view('cars.add'); 
} 

public function update($id, CarFormRequest $request) 
{ 
    $car = car::whereId($id)->firstOrFail(); 
    $car->name = $request->get('name'); 
    $car->color_id = $request->get('color'); 
    if($request->get('status') != null) { 
     $car->status = 0; 
    } else { 
     $car->status = 1; 
    } 
    $car->save(); 
    return redirect(action('[email protected]', $car->id))->with('status', 'The ticket '.$id.' has been updated!'); 

} 

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

Route::get('/', '[email protected]'); 
Route::get('/about', '[email protected]'); 
Route::get('/contact', '[email protected]'); 
Route::get('/cars', '[email protected]'); 
Route::get('/cars/edit/{id?}', '[email protected]'); 
Route::post('/cars/edit/{id?}', '[email protected]'); 
Route::get('/cars/add', '[email protected]'); 
Route::post('/cars/add', '[email protected]'); 

вот мое мнение:

<div class="container col-md-8 col-md-offset-2"> 
<div class="well well bs-component"> 
    <form class="form-horizontal" method="post"> 
     <input type="hidden" name="_token" value="{!! csrf_token() !!}"> 
     <input type="text" id="color_id" name="color_id" value="{!! $car->color_id !!}"> 
     <fieldset> 
      <legend>Edit Car Information</legend> 
      <div class="form-group"> 
       <label for="title" class="col-lg-2 control-label">Car Name</label> 
       <div class="col-lg-10"> 
        <input type="text" value="{{ $car->name }}" class="form-control" id="name" placeholder="Car Name"> 
       </div> 
      </div> 
      <div class="form-group"> 
       <label for="title" class="col-lg-2 control-label">Car Color</label> 
       <div class="col-lg-10"> 
        <div class="btn-group" data-toggle="buttons"> 
         <label id="opt1" class="btn btn-primary"> 
          <input type="radio" name="color" id="option1" autocomplete="off"> Red 
         </label> 
         <label id="opt2" class="btn btn-primary"> 
          <input type="radio" name="color" id="option2" autocomplete="off"> Blue 
         </label> 
         <label id="opt3" class="btn btn-primary"> 
          <input type="radio" name="color" id="option3" autocomplete="off"> Yellow 
         </label> 
         <label id="opt4" class="btn btn-primary"> 
          <input type="radio" name="color" id="option4" autocomplete="off"> Green 
         </label> 
         <label id="opt5" class="btn btn-primary"> 
          <input type="radio" name="color" id="option5" autocomplete="off"> Black 
         </label> 
         <label id="opt6" class="btn btn-primary"> 
          <input type="radio" name="color" id="option6" autocomplete="off"> White 
         </label> 
        </div> 
       </div> 
      </div> 

      <div class="form-group"> 
       <div class="col-lg-10 col-lg-offset-2"> 
        <button class="btn btn-default">Cancel</button> 
        <button type="submit" class="btn btn-primary">Submit</button> 
       </div> 
      </div> 
     </fieldset> 
    </form> 
</div> 
</div> 
+0

Почему вы используете '' вместо '{ID}' в маршрутах? –

+0

Можете ли вы поделиться своей структурой блейд/html? – Qazi

+0

Я видел, что в учебниках, что они используют в нем, есть ли разница? – Viscocent

ответ

0

$id переменная, где должен быть массив, и вы должны указать базу данных колонка тоже. Это должно быть как - {?} Идентификатор

public function edit($id) 
{ 
    $car = Cars::whereId('id', [$id])->firstOrFail(); 
    return view('cars.edit', compact('car')); 
} 

Изменить все вхождения в

$car = car::whereId($id)->firstOrFail();