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();