gpt4 book ai didi

php - Laravel 5 - SQLSTATE [22P02] - postgres 的无效文本表示

转载 作者:可可西里 更新时间:2023-11-01 12:58:42 24 4
gpt4 key购买 nike

错误:

SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "dismissnotification" (SQL: select * from "users" where "id" = dismissnotification)

在我的 routes.php 文件中:

Route::get('user/dismissnotification/{notificationid}',array('as' => 'dismissnotification', 'uses' => 'NotificationController@dismiss'));

在我看来路线的链接:

 <a href="{{ URL::route('dismissnotification',$notification->id)}}">  <i class="fa fa-times"></i> </a>

当我点击这个链接时,页面被正确重定向到(例如): http://mywebsite/user/dismissnotification/222222225

我的 NotificationController 上的“dismiss”函数是空的,但错误仍然存​​在。我不知道原始错误中的 select * from "users" 是从哪里来的。

public function dismiss($notificationid) {
//
}

我是否遗漏了一些明显的东西?如果我的函数中根本没有代码并且路由显然是正确的,可能会导致此错误的原因是什么?

最佳答案

SQL 查询显示 Laravel 在您的路由上调用了与您预期不同的 Controller 方法。

select * from "users" where "id" = dismissnotification

该查询试图找到 ID 与“dismissnotification”匹配的用户,因此它看起来像 UsersController@show 或 UsersController@edit 或什至 UsersController@222222225,具体取决于您为/定义的其他路由用户。

由于 URL::route() 按照您的预期呈现路径,您的问题可能是您定义路由的顺序;但是,在没有看到您所有的/user 路由以及您定义它们的顺序的情况下,我不能更具体。

关于php - Laravel 5 - SQLSTATE [22P02] - postgres 的无效文本表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32322743/

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