以下のクエリは、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 不正な DATE 値: ''0000-00-00'
データベースで mysql_mode を ALLOW_INVALID_DATES に設定しました。
また、laravelでクエリを実行する前に、以下で使用されます:
DB::statement("set session sql_mode='ALLOW_INVALID_DATES'");
また、laravel conig/database.php で厳密モードが false に設定されていますが、上記のクエリでもエラーがスローされます。