当前位置: 首页 > 知识库问答 >
问题:

Laravel更新功能

谭敏学
2023-03-14

单击应用程序中的“验证”按钮后,我需要将列的值从“0”更改为“1”。

默认情况下,该列保存为“0”。

我需要找到发票的正确ID并更新此值。所以我尝试了这个代码,但是我的更新功能不起作用。

视图:(每个按钮都有我的发票ID)

<form action="{{route('Invoice.update', ['id' => $in->id])}}" method="post">
    {{method_field('patch')}}
    {{csrf_field()}}
    <input type="hidden" name="catid" id="catid" >
    <button type="submit"  data-catid="{{$in->id}}"></button>
</form>

控制器:(从输入值中查找Id发票)

public function update(Request $request, $id)
{
    $invoice = Invoice::findOrFail($request->catid);
    $invoice->validate = 1;
    $invoice->save();

    return back();    
}

路线:

Route::resource('Invoice','ValidateController');

错误:

  • 没有模型[App\发票]的查询结果。

编辑谢谢。。。

共有2个答案

严昊昊
2023-03-14

你确定吗

我的代码找不到发票ID(catid)

?

您有无效的表单操作{{route('Invoice.update','test')}。删除testproperty-{{route('Invoice.update')}}

我建议在路由名称中使用小写:{{route('invoice.update')}route::resource('invoice','ValidateController')

连厉刚
2023-03-14

由于您使用的是Route::resource('Invoces','ValidateController),更新发票的路径必须提供要更新的发票的ID,并且控制器中的更新方法必须如下所示

public function update(Request $request, $id){
    // here goes the code to update the invode
}

您正在通过测试作为发票的ID值。更新预期路线。

<form action="{{route('Invoice.update', ['id' => $in->id]}}" method="post">

如果希望路由按照指定的方式运行,请为invode创建自定义路由。更新。为此,在注册invoce资源时,您必须将更新排除在外,并在之后为更新定义另一个路由

Route::match(['put', 'patch'], '/invoce/update', 'ValidationController@update');
Route::resource('Invoce', 'ValidationController')->except(['update'])
 类似资料:
  • 下面列出了 AutoHotkey 当前开发分支(也称为 AutoHotkey_L)新增的功能。 对于较旧的变更,请参阅存档变更。 1.1.15.01 - 2014 年 6 月 30 改变内置的错误和警告对话框为置顶。 修正 Until 不会从递归的文件和注册表循环中中断的错误。 1.1.15.00 - 2014 年 5 月 4 日 添加 A_OSVersion 值 WIN_8.1。 改变 Hotk

  • 我已经在做我的项目好几个星期了。一切都很好。但今天突然间,我无法加载我更改的一些视图(有些视图可以更改并得到结果)。即使我更换了控制器,它现在仍然工作。根据SO和其他一些网站,我尝试了以下内容 重新启动浏览器 我错过了什么。提前谢谢。

  • 我正在用一些电影信息创建这种数据库。 逻辑结构非常简单,一部电影有很多演员,一个演员拍了很多电影,所以这是一种多对多的关系。 我还使用library创建了一个简单的输入,其中写入了标记之类的参与者,并用逗号或空格键(此处是指向文档的链接)将它们分隔开,下面是一个简单的快照,以便更好地理解结果 在创建/存储函数中,我不需要检查是否存在任何关系,因为电影是新的。所以我只需要检查演员是否已经存在于数据库

  • 插入新记录或更新(如果存在)的缩写是什么?

  • 我在我的项目中运行了composer update,因为我更改了计算机,所以我克隆了该项目。它返回了以下错误,但我不知道如何解决它们…: 问题1-系统中缺少请求的PHP扩展ext mcrypt*。安装或启用PHP的mcrypt扩展。 问题2-guzzle/guzzle v3.9.3的安装请求- 问题3-phpoffice/phpexcel 1.8.1的安装请求- 问题4-sentry/sentry

  • 如果值不改变,我想忽略段塞。我目前得到这个错误,每当我更新的形式。 这是我的验证请求。 命名空间App\Http\Requests\Admin; 使用Illumb\Foundation\Http\FormRequest; 类ProductInsertFormRequest扩展FormRequest{/***确定用户是否有权发出此请求。**@return bool*/public function