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 不正な DATE 値: ''0000-00-00'

データベースで mysql_mode を ALLOW_INVALID_DATES に設定しました。

また、laravelでクエリを実行する前に、以下で使用されます:

DB::statement("set session sql_mode='ALLOW_INVALID_DATES'");

また、laravel conig/database.php で厳密モードが false に設定されていますが、上記のクエリでもエラーがスローされます。

4

0 に答える 0