我在做更新方法。当我尝试更新特定数据时,即时收到此错误"调用数组"上的成员函数save()。为什么?我的代码中是否缺少某些内容?
我也试过print_r $ result变量,它有一个值..
查看
@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
控制器
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::post('updateText/{id}','AdministratorController@updateText');
答案 0 :(得分:2)
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();
}
这种方式可以帮到你。
答案 1 :(得分:1)
要使用save()
方法,您需要获取一个对象:
$result = Model::find($id);
$result->name = 'John';
$test = $result->save();
答案 2 :(得分:0)
Call to a member function save() on array laravel
答:首先,您检查表中的$id
值是否存在。
如果未在表中找到此主$id
值,则返回此消息。
如果主要的$id
值可用,则可以通过两种方式保存
$data = Model::find($id);
$data->name = 'Bulbul';
$result = $data->save();
//OR
$data = Model::find($id);
$data['name'] = 'Bulbul';
$result= $result->save();