Итак, я хочу, чтобы этот код хотел получить мне некоторое представление о веб-сервисе.Laravel Eloquent ORM Где заявления для даты Сравнение временной отметки по умолчанию created_at timestamp
$records = Publication::all();
if(isset($headers["input"]["from"])) {
$from = Carbon::createFromFormat('Y-m-d', $headers["input"]["from"])->toDateTimeString();
$records = $records->where("created_at", ">", $from);
}
if(isset($headers["input"]["until"])) {
$until = Carbon::createFromFormat('Y-m-d', $headers["input"]["until"])->toDateTimeString();
$records = $records->where("created_at", "<", $until);
}
Это должно вернуть мне несколько публикаций при передаче аргумента GET 2015-07-21 уже ... Но он ничего не возвращает. Я пробовал тестировать, чтобы увидеть, что происходит, делая dd ($ results) после кода, но я ничего не получил, я пробовал. Я пробовал пропустить -> get() и -> all() и ничего не получил. Я даже попробовал вызывать только метод и не назначать одну и ту же переменную $ record, хотя для меня это не имело смысла, я все это пытался исправить.
Возможно, проблема с Sql Statement? Сравнение дат? Углеродные переменные выглядят отлично, когда dd ($ до) или dd ($ from)
EDIT: Поскольку мне это нужно, я исследовал другие способы ... Что я сделал, так это преобразование Публикация :: all() to Publication :: query() (это даст вам QueryBuilder). Затем я работал с Query Builder -> где (поле, сравнение, значение), а затем, наконец, получил результат с помощью $ records-> get(); В этом случае вы все равно получите коллекцию моделей, потому что, если вы используете DB :: table («публикации»), а затем тот же код, когда вы делаете -> get(), вы получите только массив элементов и никакой загрузки отношений, как в модели , Надеюсь, я высказал свою точку зрения и объяснил хорошо. И жаль, если я этого не сделал. Я действительно старался изо всех сил. Теперь это РЕШЕННО!
Это ** РЕШЕНИЕ ... ** –
Пожалуйста, внесите ответы на свои вопросы в ответ, а не на сам вопрос. –