2015-07-21 2 views
0

Итак, я хочу, чтобы этот код хотел получить мне некоторое представление о веб-сервисе.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(), вы получите только массив элементов и никакой загрузки отношений, как в модели , Надеюсь, я высказал свою точку зрения и объяснил хорошо. И жаль, если я этого не сделал. Я действительно старался изо всех сил. Теперь это РЕШЕННО!

+0

Это ** РЕШЕНИЕ ... ** –

+0

Пожалуйста, внесите ответы на свои вопросы в ответ, а не на сам вопрос. –

ответ

0

Поскольку я нуждался в этом, чтобы работать, я исследовал другие способы ... Что я сделал, так это преобразование Publication :: all() to Publication :: query() (это даст вам QueryBuilder) Затем я работал с Query Builder -> где (поле, сравнение, значение), а затем, наконец, получил результат с помощью $ records-> get(); В этом случае вы все равно получите коллекцию моделей, потому что, если вы используете DB :: table («публикации»), а затем тот же код, когда вы делаете -> get(), вы получите только массив элементов и никакой загрузки отношений, как в модели , Надеюсь, я высказал свою точку зрения и объяснил хорошо. И жаль, если я этого не сделал. Я действительно старался изо всех сил. Теперь это РЕШЕННО!

Смежные вопросы