sql >> データベース >  >> RDS >> Mysql

Doctrine_Expression(doctrine 1.2)が最後の7日間を取得しようとする方法

    何も返されない理由は、Doctrineが式をエスケープするためです-生成されたSQLは

    WHERE (date > 'DATE_SUB(CURDATE(), INTERVAL 7 DAY)')
    

    ではなく
    WHERE (l.action_time > DATE_SUB(CURDATE(), INTERVAL 7 DAY))
    

    次のように強制的に機能させることができます:

    $date = new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)');
    $q->where('date > ' . $date);
    

    ただし、これは最も安全なオプションではありません。入力がエスケープされず、適切な方法ではないためです...




    1. OracleでONCOMMITのトリガーを定義するにはどうすればよいですか?

    2. OracleはDATEにLIKE'%'を使用します

    3. SQL主キーは「0」を受け入れることができますか?

    4. MySqlWorkbenchのlocal-infileオプションに接続する