【问题标题】:Laravel | Edit all data from table拉拉维尔 |编辑表格中的所有数据
【发布时间】:2018-12-13 16:19:08
【问题描述】:

你能告诉我如何编辑数据库表中的数据 - 但不能按 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。 如何创建一个重定向按钮来一次编辑所有行?

元控制器:

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');

感谢您的帮助!

【问题讨论】:

    标签: laravel laravel-5 laravel-5.7


    【解决方案1】:

    在 Eloquent 模型上使用 mass update function

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

    如果你只想更新某些行,添加 where 函数

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

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

    【讨论】:

    • 好的,我明白了,视图中的编辑按钮应该是什么样子的?
    猜你喜欢
    • 1970-01-01
    • 2019-02-21
    • 2018-07-27
    • 2016-07-20
    • 1970-01-01
    • 2020-12-12
    • 2021-12-22
    • 2017-03-12
    • 2015-05-18
    相关资源
    最近更新 更多