Bonjour,
Voila je rencontre un petit problème avec mon code. J'ai plusieurs tables reliées en belongsToMany,
comment peut on créer une pagination sur ce type de table ?
Décrivez ici votre code ou ce que vous cherchez à faire
Route
Route::get('/','MorceauController@index');
Route::get('/morceau/read/{uuid}', 'MorceauController@read')->name('morceau.read');
Route::get('/morceau/{id}', 'MorceauController@post_unique')->where('id', '[0-9]+');
Route::get('/categorie/{id}', 'CategorieController@categorie_unique')->where('id', '[0-9]+');
Route::get('/atmosphere/{id}', 'AtmosphereController@atmosphere_unique')->where('id', '[0-9]+');
Route::get('/instrument/{id}', 'InstrumentController@instrument_unique')->where('id', '[0-9]+');
Route::get('/compositeur/{id}', 'CompositeurController@compositeur')->where('id', '[0-9]+');
MorceauController
public function index(Request $request)
{
$posts = Morceau::paginate(3);
$posts = $posts->shuffle();
$categories = Categorie::All()->sortBy('libelle');
$atmospheres = Atmosphere::All()->sortBy('libelle');
$instruments = Instrument::All()->sortBy('nom');
$compositeurs = Compositeur::All()->sortBy('nom');
return View('layouts/morceau')->with(array(
"morceaux" => $posts,
"atmospheres" => $atmospheres,
"categories" => $categories,
"instruments" => $instruments,
"compositeurs" => $compositeurs,
"auteur" => 'Visuelsound'
));
}
morceau.blade.php
@yield('contenu')
{{ $posts->links() }}
Décrivez ici ce que vous cherchez à obtenir
Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
ErrorException
Undefined variable: posts (View: /home/vagrant/code/train2/resources/views/layouts/master.blade.php)
Bonjour,
Je n'ai pas très bien compris ton problème.
L'erreur que tu as est normale, tu appelles {{ $posts->links() }}
alors que les variables que tu envoies à ta vue n'ont pas ce nom là.
Vérifie le nom de tes variables que tu envoies de ton controller / que tu appelles depuis ta vue dans un premier temps.
Bonjour Azorgh,
En supprimant cette variable {{ $posts->links() }} je n'ai plus d'erreur , la page apparaît normalement mon soucis c'est de paginer le reste de de la bdd et je ne sais pas comment m'y prendre...
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1" aria-disabled="true">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>