Laravel |编辑表格中的所有数据

时间:2018-12-13 08:12:24

标签: laravel laravel-5 laravel-5.7

能告诉我如何编辑数据库表中的数据-但不能按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');

感谢帮助!

1 个答案:

答案 0 :(得分:1)

在雄辩的模型上使用mass update function

Meta::update([
    'field1' => 'field1value', 
    'field2' => 'field2value'
]);

如果只想更新某些行,请添加一个where函数

Meta::where('field', '=', 'value')->update([
    'field1' => 'field1value', 
    'field2' => 'field2value'
]);

您将必须将要使用的字段添加到模型中的$fillable数组中。或将$guarded设置为['*']