Я передаю $start_date
и $end_date
качестве параметра для сравнения их с created
полем в таблице базы данных MySQL. Я использую структуру yii2
.
Вот что я пробовал:
$modelStockDetails=StockDetails::find()->where(['BETWEEN', 'created', $start_date, $end_date])->andwhere(['receiving_order_id' =>$modelRecevingOrder->id,'deleted' => 'N'])->all();
который возвращает пустой массив, когда значения $start_date
и $end_date
отличаются от created
даты в таблице.
Но он возвращает массив, содержащий данные, когда я $start_date
который точно такой же, как и дата created
в таблице.
Может быть проблема, связанная с преобразованием входной попытки с использованием str_to_date и literal 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();