Besoin d'aide ?

Pagination avec pluck()

Avatar de Jelll
Jelll

Bonjour j'ai un problème avec le paginate() voici mon code:

public function index(Tag $tag)
    {
        $mangas = $tag->manga;
        $tags = Tag::has('manga')->pluck('name', 'slug');
        
        return view('manga.index', compact('mangas', 'tags'))->with('mangas', Manga::paginate(2));
    }

Je voudrais qu'en cliquant sur un tag, les mangas associés apparaissent par 2. Ici la pagination marche bien mais pas le code défini dans $tags (donc le tri des mangas) alors que ca marche sans la pagination.

Ducoup j'aimerai savoir où mettre le paginate pour que tout marche bien merci.

Avatar de Seeryos
Seeryos

Hello, dans chacun des modèles associés (tag et manga) tu as bien indiqué les relations ? Du style :

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Models\Manga;

class Tag extends Model
{
    use HasFactory;

    public function mangas(){
        return $this->belongsToMany(Manga::class, 'manga_tag');
    }

}

Si c'est le cas tu peux essayer :

public function index(Tag $tag)
{
        $mangas = $tag->mangas()->paginate(2);
        return view('manga.index', compact('mangas', 'tag'));
}

Hésite pas à me dire si ça ne fonctionne pas :)

Avatar de Jelll
Jelll

Bonjour ça marche parfaitement avec votre méthode merci beaucoup bonne journée !

Vous ne pouvez pas répondre à ce sujet.