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

yii2のBetweenクエリのどこに書くか

    入力の変換に関連する問題である可能性があります。str_to_dateとリテラルを使用してみてください。ここで(私のサンプルは "%d-%m-%Y"です)

    の形式に基づいて適切な日付形式の変換を使用してください。
    $modelStockDetails=StockDetails::find()
      ->where(' date(created) between STR_TO_DATE("'.  $start_date . '", "%d-%m-%Y" ) 
            AND   STR_TO_DATE("' .  $end_date . '", "%d-%m-%Y" )' )
      ->andwhere(['receiving_order_id' =>$modelRecevingOrder->id,'deleted' => 'N'])->all();
    

    または、SQLでのvarの使用を避けるために、

    を使用できます。
    $modelStockDetails=StockDetails::find()
    ->where(' date(created) between STR_TO_DATE(:start_date, "%d-%m-%Y" ) 
          AND   STR_TO_DATE( :end_date, "%d-%m-%Y" )', [':start_date' => $start_date, ':end_date' => $end_date] )
    ->andwhere(['receiving_order_id' =>$modelRecevingOrder->id,'deleted' => 'N'])->all();
    



    1. 主キーと一意キーの違い

    2. PDOを使用すると、発生した例外がドライバーを見つけることができませんでした

    3. phpでodbcを介してquickbooksデータベースに接続しますか?

    4. MagnificPopupを呼び出さないページネーションのDataTablesページ2