mysql - 如何从表格 : Laravel 5. 8 更新 mysql 表行

标签 mysql laravel forms edit

我在更新我的 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>

我的 Controller :

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

    }

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

预期的结果是更新值。

最佳答案

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

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

all method:

You may also retrieve all of the input data as an array using the all method:

update method :

The update method expects an array of column and value pairs representing the columns that should be updated.

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

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

关于mysql - 如何从表格 : Laravel 5. 8 更新 mysql 表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55576051/

相关文章:

Laravel 服务提供者从数据库检索数据

laravel - 如何将此查询从 SQL(mysql) 转换为 Eloquent(Laravel)

php - 在较大的表单中上传文件(一个页面上的两个表单),如何同时提交两组数据(文件和表单)? (PHP)

mysql - #1045 - 用户 'root' @'localhost' 的访问被拒绝(使用密码 : NO) When changing user in db

php - 如何在 Laravel 5.2 登录后重定向回来后将访客重定向到登录页面

javascript - 如何在表单标签中调用非表单元素

php - 是否可以在 <form> 标签内的 php 函数中使用 &lt;input&gt; 标签?

php - 将user_id添加到Session mysql中

java - SpringBoot MySQL JDBC无法创建池的初始连接

python - 使用 MySQL 进行数据操作 - 连接和计数