首页 > 解决方案 > 如何解决 Laravel 6 中的 MariaDB 语法错误?

问题描述

我正在使用 XAMPP 和 MySQL 版本是:mysql Ver 15.1 Distrib 10.2.10-MariaDB, for Win32 (AMD64)

目前,我从一个雄辩的查询中收到一个错误,但我仍然找不到确切的错误。我将查询与抛出的错误一起发布,请有人检查它以帮助我解决它。提前致谢。

$employees = Employee::join('store','store.id','=','employee.store_id')
                            ->whereRaw("employee.id IN (".$storeWeekSchedule->employees.")")
                            ->where('employee.temporary_status','=','1')
                            ->where('employee.status_id','=','1')
                            ->where('employee.position_id','>','0')
                            ->select('employee.id AS id',DB::raw('concat(employee.first_name," ",employee.last_name) AS FullName'),'employee.store_id','employee.date_of_birth')
                            ->orderBy('store.id')
                            ->orderBy('employee.last_name')
                            ->orderBy('employee.first_name')
                            ->get();

错误:

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 ')) and `employee`.`temporary_status` = ? and `employee`.`status_id` = ? and `emp' at line 1 (SQL: select `employee`.`id` as `id`, concat(employee.first_name," ",employee.last_name) AS FullName, `employee`.`store_id`, `employee`.`date_of_birth` from `employee` inner join `store` on `store`.`id` = `employee`.`store_id` where JSON_CONTAINS(employee.id IN ()) and `employee`.`temporary_status` = 1 and `employee`.`status_id` = 1 and `employee`.`position_id` > 0 order by `store`.`id` asc, `employee`.`last_name` asc, `employee`.`first_name` asc)

标签: mysqlsyntax-errorlaravel-6mariadb-10.2

解决方案


推荐阅读