質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

Q&A

解決済

1回答

982閲覧

Laravelでページネーションを実装したい

Tikka123456

総合スコア34

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

0グッド

0クリップ

投稿2020/10/10 11:50

編集2020/10/11 07:01

Laravelでページネーションを実装しています。
イーガーloadを併用してページネーションを作りたいのですがやり方が分かりません。
どうかよろしくお願いします。
こちらの記事を参考にページネーションを作りました。
paginate(5)を追加し、ページネーションを追加したい場所に{{ $articles->links() }}を記述しました

元のArticleContoroller

public function index() { $articles = Article::all()->sortByDesc('created_at') ->load(['user', 'likes', 'tags']); return view('articles.index', ['articles' => $articles]); }

変更後のArticleContoroller

public function index() { $articles = Article::sortByDesc('created_at')  ->load(['user', 'likes', 'tags'])->paginate(5); // ここにpaginate(5)をいれた return view('articles.index', ['articles' => $articles]); }

Article.php

<?php namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class Article extends Model { protected $fillable = ['title', 'body']; public function user(): BelongsTo { return $this->belongsTo('App\User'); }

index.php

<div> {{ $articles->links() }} </div>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

firegrape

2020/10/10 12:02

もう少し質問を詳細にお願いします。 どう試したら、何ができなかった。 これくらいはお願いしたいです。
guest

回答1

0

ベストアンサー

diff

1- $articles = Article::paginate(5)->sortByDesc('created_at') 2- ->load(['user', 'likes', 'tags']); 3+ $articles = Article::with(['user', 'likes', 'tags']) 4+ ->orderByDesc('created_at') 5+ ->paginate(5);

投稿2020/10/10 14:49

編集2020/10/11 09:53
phper.k

総合スコア3923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tikka123456

2020/10/11 07:06

返信ありがとうございます。回答の記述をしましたらCall to undefined method Illuminate\Database\Eloquent\Builder::sortByDesc()と出てしまいました。記述する順番が違うのでしょうか?
phper.k

2020/10/11 09:54 編集

sortByDescじゃなくてorderByDescですね。 というか、一体何を調べてコード書いているんでしょうか? ちゃんとしたドキュメント読んでます? undefined method を書く順番の問題と考えるのも、ちょっとまずいんじゃないですかね。
phper.k

2020/10/11 12:57

こちらの質問には答えてくれないの?
Tikka123456

2020/10/11 14:41

返信ありがとうございます。sortByDescに関しては単純な記述ミスでした。 Laravel ページネーションと検索して調べてコードを書いてました。 Laravelのドキュメントはあまり見たことが無いです。
Tikka123456

2020/10/12 00:57

ありがとうございます。これからは公式ドキュメントをたよりにしたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問