У меня есть таблицы категорий и предметов. Каждый элемент относится только к одной категории, и каждая категория имеет много элементов. Так, в категории модели, которую я определил это соотношение:Как использовать Laravel Pagination с образцами отношений?
public function items()
{ return $this->hasMany('Item', 'catid'); }
и я получить данные для категории таким образом:
$category = Category::find($id);
return View::make('admin.categories.catdetails')->with('category', $category);
и на мой взгляд, чем могу цикл по данным:
@foreach ($category->items as $item)
<tr>
<td> {{ $item->name }} </td>
<td> {{number_format($item->price, 2, '.', '')}} </td>
</tr>
@endforeach
, но это приводит ко всем пунктам на странице. Как использовать laravel pagination в случае, если у меня так много предметов для одной страницы? Как я могу использовать
::paginate() // in controller or model
->links() // in view
, как, до сих пор, он бросает много ошибок, и я не могу понять это. Спасибо заранее.
спасибо. но я спрашиваю, можем ли мы это сделать, не отправляя 2 разных переменных (категории и элементы). Есть ли решение? –
Ну да и нет. Вы можете это сделать, но вам нужно будет создать переменную типа ' Php $ items = $ category-> items() -> paginate (10); ?> 'и я не вижу, как это было бы лучше, чем передавать его с контроллера. – lukasgeiter
Я попытался сделать разбивку на страницы на модели. 'public function items() {return $ this-> hasMany ('Item', 'catid') -> paginate (10); } ', но он терпит неудачу. –