【问题标题】:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax - Laravel [closed]SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误 - Laravel [关闭]
【发布时间】:2021-09-15 22:03:42
【问题描述】:

我有以下语法错误,我找不到解决方案。任何帮助将不胜感激。

错误

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`estado` <> ?' at line 1 (SQL: select * from `registros` where Cancelado `estado` <> Terminado)

查询

$registros = Registro::where('estado', '<>', 'Terminado', 'Cancelado')
    ->get();

【问题讨论】:

  • Terminado 应该是“Terminado”。哪个是您的列名 Cancelado 或 estado
  • 提供你的表结构、模型等

标签: laravel laravel-5 mariadb laravel-8


【解决方案1】:

您可以使用whereNotIn,因为您不能将逗号分隔的值传递给 where。

$registros = \App\Models\Registro::whereNotIn('estado', ['Terminado' , 'Cancelado'])->get();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 2019-08-08
    相关资源
    最近更新 更多