sql >> Databáze >  >> RDS >> Mysql

Jak napsat dotaz Where Between v yii2

Může se jednat o problém související s převodem vstupu zkuste použít str_to_date a doslovný výraz Where (použijte správný převod formátu data na základě vašeho formátu, můj vzorek je "%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();

nebo abyste se vyhnuli použití var v sql, můžete použít

$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. LIKE dotaz sql nefunguje ve zřetězených hodnotách s mezerou

  2. Co je špatného na kurzorech?

  3. Získejte poslední ID na vloženém řádku v Oracle DB

  4. EF6 s MySQL. Daný klíč nebyl ve slovníku přítomen