Laravel Eloquent получает meta_key / meta_value - PullRequest
0 голосов
/ 26 июня 2019

У меня есть таблица WordPress, которая использует метаданные.

Я пытаюсь получить записи из details, связанные с details_metas.

В details_metas мне нужно отфильтровать записи, сравнив meta_value с DateTime сейчас, где meta_key равно to_date.

Как мне это сделать? Мой код возвращает все записи, но не фильтруется по to_date.

$builder->where(function ($q1) {
    $q1->whereIn('status_id', [3, 4]);
    $q1->orWhere(function ($q2) {
        $q2->where('status_id', 5);
        $q2->where(function ($q3) {
            $q3->whereHas('certificates', function ($q4) {
                $q4->where('expiry_date', '>=', Carbon::now()->toDateTimeString());
            });
            $q3->orWhereHas('details_meta', function ($q4) {
                $q4->with([
                    'details_meta' => function ($query) {
                        $query->where('*.meta_key', 'to_date');
                        $query->where('*.meta_value', '<=', Carbon::now()->toDateTimeString());
                    }
                ]);
            });
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...