【问题标题】:How to make update mysql table row from form: Laravel 5.8如何从表单更新mysql表行:Laravel 5.8
【发布时间】:2019-08-29 18:11:08
【问题描述】:

我在更新 Laravel 项目中的一行时遇到问题。表单完美地接收了所有必要的信息,但是一旦我点击更新按钮,从表单解析的信息返回为 null

我的编辑(表单)文件

@extends('layout')

@section('content')
    <h1 class = "title">Edit Item</h1>

    <form method="post" action="/listings/{{$listing->id}}">

        @method('patch')
        @csrf

        <div>
            <label class="label" for="name">Name of Item</label>
            <div class="control">
                <input required type="text" class="input" name="description" placeholder="Name of Item"  value="{{$listing->title}}" >
            </div>
        </div>

        <div>
            {!! Form::select('lstatus',$lstatus,null) !!}
        </div>

        <div class="field">
            <div class="control">
                <button type="submit" class="button is-link">Update</button>
            </div>
        </div>


    </form>

我的控制器:

    public function edit(listing $listing, lstatus $lstatus)
    {
        $listing = $listing::find($listing->id);
        $lstatus = lstatus::pluck('name','id');
        return view('listings.edit', compact('listing','lstatus'));
    }
    public function update(listing $listing, lstatus $lstatus){



    $listing = listing::find($listing->id);

    $listing->listing_status_id = request('lstatus');
    $listing->title=\request('description');

    return back();

    }

当我点击表单上的提交按钮时,没有任何反应。数据库中没有任何变化,我没有收到任何错误。

预期结果将是更新值。

【问题讨论】:

  • 你必须保存 = $listin-&gt;save();
  • 我觉得自己像个白痴一样没有看到这一点。谢谢一堆!有没有更好的方法一次传递所有参数?

标签: mysql laravel forms edit


【解决方案1】:

在这种情况下,您可以使用 update() 方法传递来自请求的所有输入,并将 all() 方法作为参数,这将自动保存您在请求中发送的所有属性:

$listing = $listing::find($listing->id);
$listing->update($listing->all());

all method:

您还可以使用 all 方法将所有输入数据作为数组检索:

update method:

update 方法需要一个列和值对数组,表示应该更新的列。

如果您不使用update() 方法,则应在进行任何更改后使用save() 方法:

 $listing->listing_status_id = request('lstatus');
 $listing->title=\request('description');
 $listing->save();

【讨论】:

    猜你喜欢
    • 2020-04-08
    • 2023-03-28
    • 2020-05-10
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多