Красноречивая модель Laravel, где datetime меньше или равно - PullRequest
0 голосов
/ 10 мая 2019

У меня есть поле expire_datetime в тестовой модели, и оно имеет много связей с моделью кандидата.Я хочу получить все тесты, у которых exipre_datetime меньше или равен текущему времени.Я делаю так, но я получаю все записи, сравнение даты не работает.

Тестовая модель:

    public function testcandidates()
    {
        return $this->hasMany(Candidate::class,'test_id','id');
    }

TestController:

$tests = Test::with([
            'testcandidates' => function ($query) {
                $query->where('result', '=', 'assigned');
             }
         ])
         ->where('expire_datetime', '<=', Carbon::now('UTC'))
         ->get();

1 Ответ

0 голосов
/ 10 мая 2019

Попробуйте получить строку из углерода: Carbon::now('UTC')->toDateTimeString()

$tests = Test::with(
   ['testcandidates' => function ($query) {
       $query->where('result', '=', 'assigned');
    }])
    ->where('expire_datetime', '<=', Carbon::now('UTC')->toDateTimeString())
    ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...