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.

Posté il y a 3 mois
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 :)

Posté il y a 3 mois
Avatar de Jelll
Jelll

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

Posté il y a 3 mois

Vous ne pouvez pas répondre à ce sujet.