Фильтрация данных Laravel

Вернет массив объектов

$items = Notice::limit(10)
    ->orderBy('createdon', 'desc')
    ->where('user_id', $this->user->id)
    //->where('topic_id',9)
    ->get();

Получение разных значений


use Illuminate\Support\Facades\Input;

class NoticeFilter extends ModelFilter
{
    public function onlyRouter()
    {

        echo '<pre>';
    print_r(Input::getUri()); die;

    }
}

Вернет параметры контроллера

 $action = Input::route()->parameters;

Вернет один объект

```php
    $topic_ids = NoticeTopic::where('name', $value)
    ->first();

Фильтрация для ModalsFilter

    $items = Notice::filter($this->request->all())->get();

Пагинация

Статья о пагинации

    $results = Notice::filter($this->request->all())->simplePaginateFilter();
    $results = Notice::filter($this->request->all())->simplePaginateFilter();

    // Доступные функции   
    $results->count()
    $results->currentPage()
    $results->firstItem()
    $results->hasMorePages()
    $results->lastItem()
    $results->lastPage() // не работает с simplePaginate
    $results->nextPageUrl()
    $results->perPage()
    $results->previousPageUrl()
    $results->total() // не работает с simplePaginate
    $results->url($page)
21 июня 2017, 03:31    128



Наверх