Php 将mysql查询更改为laravel查询

Php 将mysql查询更改为laravel查询,php,mysql,laravel,Php,Mysql,Laravel,我有一个sql查询,我想在laravel查询中更改oit 我已经试过了 SELECT * FROM chart WHERE MONTH(STR_TO_DATE(CONCAT('01-', `month`), '%d-%M-%Y')) IN (MONTH(meeting_start_date), MONTH(call_start_date)); $query=DB::('chart')->where(DB::raw(MONTH(STR_TO_DATE(CONC

我有一个sql查询,我想在laravel查询中更改oit 我已经试过了

SELECT *
FROM chart
WHERE MONTH(STR_TO_DATE(CONCAT('01-', `month`), '%d-%M-%Y')) 
            IN (MONTH(meeting_start_date), MONTH(call_start_date));



$query=DB::('chart')->where(DB::raw(MONTH(STR_TO_DATE(CONCAT('01-', `month`), '%d-%M-%Y')) 
            IN (MONTH(meeting_start_date), MONTH(call_start_date))))->select('id')->get();

但是获取解析错误:语法错误,意外的'IN'T_STRING,期望','或错误

DB::raw方法获取一个字符串,因此只需正确地将其括起来:

$query=DB::('chart')->where(DB::raw("MONTH(STR_TO_DATE(CONCAT('01-', `month`), '%d-%M-%Y')) 
            IN (MONTH(meeting_start_date), MONTH(call_start_date)))")->select('id')->get();

获取运算符不存在字符变化。因此,更改为$report\u details=$report\u details->whereDB::rawmount::varcharSTR\u TO\u DATECONCAT'01-',month,'%d-%M-%Y',在MONTHmeeting\u start\u date,MONTHcall\u start\u date;获取未定义的函数:7错误:运算符不存在:`character variabling LINE 1:…th in$359和MONTHSTR_TO_DATECONCAT'01-',month。。。如何修复它