0

如果我直接在 PHPMyadmin 上运行它,但当我使用 laravel 运行它时,我有以下查询。

select SUM(p.quantity_held * s.current_share_price) as mv 
from portfolio_holding p, portfolios po, securities s 
where `p`.`security_id` = s.security_id and `po`.`portfolio_id` = p.portfolio_id 
      and `po`.`status_id` in (1, 2) 
      and (`p`.`sell_date` is null or `p`.`sell_date` = '0000-00-00' or `p`.`sell_date` > now()) 
      and s.security_id <> 0 
limit 1

它抛出以下错误:

SQLSTATE [HY000]:一般错误:1525 日期值不正确:''0000-00-00'

我已在数据库中将 mysql_mode 设置为 ALLOW_INVALID_DATES。

在 laravel 中执行我的查询之前,也使用以下一个:

DB::statement("设置会话 sql_mode='ALLOW_INVALID_DATES'");

在 laravel conig/database.php 中,严格模式也设置为 false,但上面的查询仍然会抛出错误。

4

0 回答 0