Im doing the update method. When I tried to update the specific data, im getting this error “Call to a member function save() on array”. Why? Is there’s something missing in my codes?
I also tried to print_r the $result variable, it has a value..
View
@extends('dashboard') @section('content') <br><br> <div class="x_content"> <table class="table table-hover"> <thead> <tr> <th>#</th> <th>Text Header</th> <th>Text Description</th> <th>Action</th> <th>Updated At</th> <th>Created At</th> </tr> </thead> <tbody> @foreach($data as $text) <tr> <th scope="row">{{ $text->id }}</th> <td>{{ $text->text_header}}</td> <td>{!! nl2br(e($text->text_description)) !!}</td> <td><button class = "btn btn-info btn-md" data-toggle="modal" data-target="#myModal-{{$text->id}}"><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Edit</button></td> <div class="modal fade" id="myModal-{{$text->id}}" tabindex="-1" role="dialog" aria-labelledby="titleLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header modal-header-success"> <button type="button" class="close btn btn-primary" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span></button> <h4 class="modal-title" id="titleLabel">New Content</h4> </div> <div class="modal-body"> <div class="row"> <div class ="col-md-2 col-lg-7"> <div style="display: inline"> <div class="form-group"> <form action="{{ url('updateText/'.$text->id) }}" enctype="multipart/form-data" method="POST"> {{ csrf_field() }} <label>Title Header</label> <input type= "text" name = "title_header"value =" {{ $text->text_header}}" class = "form-control"></input> </div> </div> <div class ="col-md-4 col-lg-9"> <div class="form-group"> <label>Title Description</label> <textarea style="resize:none"> {{ $text->text_description}}</textarea> </div> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button> <span class="pull-right"> <button type="submit" class="btn btn-success">Update</button> </span> </form> </div> </div> </div> </div> <td>{{ $text->updated_at}}</td> <td>{{ $text->created_at}}</td> </tr> @endforeach {{ $data->links() }} </tbody> </table> </div> @stop
Controller
public function updateText(Request $request, $id) { $result = $request->all(); $test = $result->save(); print_r($test);die; Session::flash('flash_message', 'Task successfully added!'); return redirect()->back(); }
Route
Route::post('updateText/{id}','AdministratorController@updateText');
Advertisement
Answer
public function updateText(Request $request, $id) { $result = YourModel::find($id); $result->your_column_1 = $request->your_value_1; $result->your_column_2 = $request->your_value_2; $result->your_column_3 = $request->your_value_3; $result->your_column_4 = $request->your_value_4; . . . $result->your_column_n = $request->your_value_n; if($result->save()){ Session::flash('flash_message', 'Task successfully added!'); }else{ Session::flash('flash_message', 'Task failed!'); } return redirect()->back(); }
This way can help you.