whereRaw 表达式查询不替换变量

浏览:776 发布日期:2019/02/20
5.0.0 - 致命 - 未处理
语句:$dataSet =  Db::name('billview')->where(function ($query) use ($yymm,$fshortnumber,$dateRange){
                    $query->whereRaw("case when flg = 'Y' then str_to_date(CONCAT(left(recondate,4),'-',right(recondate,2),'-','01'), '%Y-%m-%d') else fdate end between :begindate and :enddate",$dateRange)
                        ->where('fshortnumber',$fshortnumber);
                })->order('fdate')->select();
报错信息SQLSTATE[HY093]: Invalid parameter number
SELECT * FROM `un_billview` WHERE ( ( case when flg = 'Y' then str_to_date(CONCAT(left(recondate,4),'-',right(recondate,2),'-','01'), '%Y-%m-%d') else fdate end between :begindate and :enddate ) AND `fshortnumber` = '4205' ) ORDER BY `fdate`
参数
Array ( [begindate] => 2019-02-01 [enddate] => 2019-02-28 )

好像没替换到变量
评论(
后面还有条评论,点击查看>>