Область запросов Laravel, получить запись с максимальной датой вступления в силу, когда премиум-идентификатор такой же - PullRequest
2 голосов
/ 22 апреля 2019

если у меня есть две записи с одинаковым премиум-идентификатором, я хочу получить только одну запись с максимальной датой вступления в силу.Ниже приведены примеры записей

ar

Я пытался использовать

public function scopeEffectiveDate($query)
    {
        $current_date = Carbon::now()->toDateTimeString();
        return $query->where(max('effective_date'), '<=', $current_date);
    } // shows error

и

public function scopeEffectiveDate($query)
    {
        $current_date = Carbon::now()->toDateTimeString();
        return $query->groupBy('insurance_provider_id')->latest('effective_date')->where('effective_date', '<=', $current_date);
    }

Iя получаю один результат, но не с последней датой вступления в силу, он принимает неправильный.

1 Ответ

1 голос
/ 22 апреля 2019

Проверьте этот код

public function scopeEffectiveDate($query)
{
    $current_date = Carbon::now()->toDateTimeString();
    return $query->orderBy('effective_date', 'desc')->where('effective_date', '<=', $current_date);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...