Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 10.09.2020 20:08:11

Как исправить запрос на последние 3 элемента?

Ребята, привет, помогите с запросом
У меня есть код, который вытаскивает все значения, а мне нужно только последние три.. Как это сделать?

public static function getReceivedBills($filter = [])
{
    $query = auth()->user()->receivedBills();
    $query->with('owner')->orderByDesc('bills.created_at')->select('bills.*');

    if (isset($filter['owner']) && $filter['owner'] != '') {
        $query->leftJoin('users as owner','bills.owner_id','=','owner.id');
        $query->where('owner.login','like', '%'.$filter['owner'].'%');
    }

    if (!empty($filter['start']) && !empty($filter['end'])) {
        if(!empty($filter['start']['from'])) {
            $query->whereRaw('DATE(bills.date_from) >= "' . $filter['start']['from'] . '"');
        }
        if(!empty($filter['start']['to'])) {
            $query->whereRaw('DATE(bills.date_from) <= "' . $filter['start']['to'] . '"');
        }
        if(!empty($filter['end']['from'])) {
            $query->whereRaw('DATE(bills.date_to) >= "' . $filter['end']['from'] . '"');
        }
        if(!empty($filter['end']['to'])) {
            $query->whereRaw('DATE(bills.date_to) <= "' . $filter['end']['to'] . '"');
        }
    }

    if (isset($filter['is_paid'])) {
        if($filter['is_paid'] == "0") {
            $query->where('is_paid','0');
        } else {
            $query->where('is_paid','1');
        }
    }

    return $query;
}

Не в сети

#2 10.09.2020 22:42:03

Re: Как исправить запрос на последние 3 элемента?

Всё, я решила ускориться и написала js скрипт, всем спасибо)

Не в сети

#3 18.09.2020 15:28:24

Re: Как исправить запрос на последние 3 элемента?

->limit(3)

Не в сети

Подвал раздела