Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да напиша заявка where Between в yii2

Може да е проблем, свързан с преобразуването на входа, опитайте да използвате str_to_date и литерал Where (използвайте правилно преобразуване на формат на дата въз основа на вашия формат, защото моята проба е "%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();

или за да избегнете използването на var в sql, можете да използвате

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS Lambda - MySQL кеширане

  2. Как да сумирате дублираните стойности от таблицата на mysql

  3. Защо съпоставянето по подразбиране на MySQL е latin1_swedish_ci?

  4. Вмъкване на масив в MySQL база данни с PHP

  5. NULL обработка в MySQL След актуализация Тригер, който се задейства само при промяна на данни