[英]Call to a member function save() on array laravel
我在做更新方法。 当我尝试更新特定数据时,我收到此错误“调用数组上的成员函数 save()”。 为什么? 我的代码中是否缺少某些内容?
我还尝试打印 $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');
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();
}
这个方法可以帮到你。
要使用save()
方法,您需要获取一个对象:
$result = Model::find($id);
$result->name = 'John';
$test = $result->save();
问:为什么返回此消息 -> Call to a member function save() on array laravel
Ans:首先,您检查表中是否存在$id
值。
如果在表中未找到此主要$id
值,则返回此消息。
如果主$id
值可用,那么您可以通过两种方式保存
$data = Model::find($id);
$data->name = 'Bulbul';
$result = $data->save();
//OR
$data = Model::find($id);
$data['name'] = 'Bulbul';
$result= $result->save();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.