gpt4 book ai didi

php - Laravel 5.6 中的 PATCH 请求

转载 作者:可可西里 更新时间:2023-11-01 00:54:48 24 4
gpt4 key购买 nike

对于我的每个登录用户,他们在“设置”表中都有一行,这为我提供了有关用户在使用我的网络应用程序时所需的个人设置的更多信息。

好吧,在 Laravel 5.6 中,我希望用户能够更新设置。但是,如果他们第一次登录,它可能不存在,我不知道 PATCH 请求是否在尝试更新之前检查该行?

无论如何,这是我的设置模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

use \App\User;

class Settings extends Model
{
protected $connection = "mysql";
protected $table = "settings";

public function user() {
return $this->belongsTo(User::class);
}

}

好的,所以这对我来说很有意义。在我的 settings.blade.php 中,我有指向/settings 的表单:

<form action="/settings" method="POST">
@csrf

然后在我的 SettingsController.php 中有以下内容:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use \App\Settings;

class SettingsController extends Controller
{
//
public function index() {
return view('settings');
}

public function patch() {

Settings::patch(request([
'font',
'updates',
'font-size',
'hide-intro',
'hide-commentary',
'night-mode'
]));

}
}

最后是我的/routes/web.php:

Route::get('/settings','SettingsController@index');
Route::patch('/settings', 'SettingsController@patch');

好的,这对我来说应该有效,我知道没有验证,但我可以稍后再输入。但是我收到以下错误:

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message

我该怎么做才能解决这个问题?我是不是用错了方法?

最佳答案

您需要传递方法动词。将此添加到您的表单中

<input name="_method" type="hidden" value="PATCH">

关于php - Laravel 5.6 中的 PATCH 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com