【问题标题】:How can I find why my code is working on localhost but not working on Heroku PostgreSQL?如何找到我的代码在 localhost 上运行但在 Heroku PostgreSQL 上不运行的原因?
【发布时间】:2021-08-19 15:10:04
【问题描述】:

SQLSTATE[42883]:未定义函数:7 错误:运算符不存在:整数 = 字符变化 LINE 1: ...m "roles" 内部加入 "admin_role" on "roles"."id" = "admin_r... ^ 提示:没有运算符与给定的名称和参数类型匹配。
您可能需要添加显式类型转换。 (SQL: select "roles".*, "admin_role"."admin_id" as "pivot_admin_id", "admin_role"."role_id" as "pivot_role_id" from "roles" 内部连接 ​​"admin_role" on "roles"."id" = "admin_role"."role_id" where "admin_role"."admin_id" = 1) (查看: /app/resources/views/admin/partials/sidebar.blade.php) (查看: /app/resources/views/admin /partials/sidebar.blade.php)(查看:/app/resources/views/admin/partials/sidebar.blade.php)

【问题讨论】:

  • 你有一个数据库错误,No operator matches the given name and argument types. You might need to add explicit type casts。我认为这是因为您的查询在本地和远程之间是不同的(或者甚至您的表结构可能不同)。
  • 你能在你的问题中添加一个表定义吗?
  • 确保您的表定义在两个环境之间完全相同。
  • "roles"."id" = "admin_role"."role_id"::INT?

标签: php mysql laravel postgresql


【解决方案1】:

roles.idadmin_role.role_id 可能具有不同的数据类型——一种可能是整数,另一种可能是字符串。您需要确保两者都是整数。

【讨论】:

    猜你喜欢
    • 2021-11-23
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 2018-04-10
    相关资源
    最近更新 更多