能告诉我如何编辑数据库表中的数据-但不能按ID。 我想做多个编辑数据。
现在我有一个id,并尝试做其他事情。
代码: list.blade.php
<div class="card-body">
<h5 class="card-title">Title</h5>
@foreach($metaList as $meta)
<p class="card-text">{{ $meta->site_title }} </p>
@endforeach
<hr>
<h5 class="card-title">Description</h5>
@foreach($metaList as $meta)
<p class="card-text">{{ $meta->site_description }} </p>
@endforeach
<hr>
<h5 class="card-title">Keywords</h5>
@foreach($metaList as $meta)
<p class="card-text">{{ $meta->site_keywords }}</p>
<a class="card-link" href="{{ URL::to('meta/edit/' . $meta->id) }}">
<i class="fas fa-pencil-alt"></i>Edit</a>
<a class="card-link" href="{{ URL::to('meta/delete/' . $meta->id ) }}" onClick="return confirm('Are you sure?')"><i class="fas fa-times">
</i>Remove</a>
@endforeach
</div>
现在我有多个“编辑”和“删除”按钮(行数和按钮数一样多)。
我目前可以重定向来编辑特定的ID。 如何创建一个重定向按钮来一次编辑所有行?
MetaController:
public function edit(MetaRepository $metaRepo, $id)
{
$meta = $metaRepo->find($id);
return view('pages.meta.edit', [
"meta" => $meta,
]);
}
public function editStore(Request $request)
{
$meta = Meta::find($request->input('id'));
$meta->site_keywords = $request->input('site_keywords');
$meta->site_description = $request->input('site_description');
$meta->site_title = $request->input('site_title');
$meta->save();
return redirect()->action('MetaController@mlist');
}
和路由:
Route::get('meta/edit/{id}', 'MetaController@edit')->middleware('auth');
Route::post('meta/edit/', 'MetaController@editStore')->middleware('auth');
感谢帮助!
答案 0 :(得分:1)
在雄辩的模型上使用mass update function。
Meta::update([
'field1' => 'field1value',
'field2' => 'field2value'
]);
如果只想更新某些行,请添加一个where函数
Meta::where('field', '=', 'value')->update([
'field1' => 'field1value',
'field2' => 'field2value'
]);
您将必须将要使用的字段添加到模型中的$fillable
数组中。或将$guarded
设置为['*']
。