Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách viết ở đâu giữa truy vấn trong yii2

Có thể là sự cố liên quan đến việc chuyển đổi đầu vào, hãy thử sử dụng str_to_date và theo nghĩa đen Ở đâu (sử dụng chuyển đổi định dạng ngày tháng thích hợp dựa trên định dạng của bạn, mẫu của tôi là "% 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();

hoặc để tránh sử dụng var trong sql, bạn có thể sử dụng

$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. thay đổi bảng thêm ... trước `mã`?

  2. Khắc phục lỗi trường không rõ ràng trong truy vấn SQL

  3. Cách tạo bảng Pivot trong Laravel

  4. Chọn các hàng ngẫu nhiên với MySQL

  5. Cách ẩn cột bí danh trong mysql EDITED