php - 转换 nvarchar 值时 Laravel 转换失败
问题描述
我有一个到 SQL Server 数据库的连接,并且我有一个事件的模型路由绑定设置。像这样:
public function show(Event $event)
{
}
当 event 是一个有效的 id 时,我会得到该事件并加载它。当 ID 无效时,我会显示 404 页面。当我输入像字符串'woifwornfroein'这样疯狂的东西时,我收到一个错误:
SQLSTATE[22018]:[Microsoft][ODBC Driver 13 for SQL Server][SQL Server]将 nvarchar 值“tnkrnbktrnj”转换为数据类型 int 时转换失败。(SQL: select top 1 * from [events] where [id] = tnkrnbktrnj and [events].[deleted_at] 为空)
显然是因为它需要一个 int 并且用户正在传递一个字符串。我怎样才能防止这种情况?
我尝试将其转换为(int)
in ,getIdAttribute
但没有做任何事情。
解决方案
推荐阅读
- .net-core - 检测到样板应用程序(.NET Core 3.1)的包降级
- javascript - 如何使用 javascript 在 html 页面中显示元素?
- python - 为什么我不能使用 if 语句?
- node.js - npm 和其他模块命令不起作用
- c++ - 无法推导出模板参数 'U
- amazon-ecs - 大三角帆 ecs 帐户不会选择
- javascript - 为什么带有 some 方法的三元运算符会使该语句为假?
- node.js - 如何在 Telegraf 的内联键盘中单击按钮时传递变量?
- r - R中数据框列表中每一列的组合
- c# - NLog、UWP - 将日志写入 System.Diagnostic.Debug