У меня есть таблица 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());
}
]);
});
});
});
});