• Laravel 5

    Cours Laravel 5.5 – les données – la pagination

    La pagination consiste à limiter le nombre de données affichées et de prévoir des boutons de navigation entre les pages ainsi constituées. Laravel propose une pagination automatique facile à mettre en œuvre aussi bien au niveau du Query Builder que d’Eloquent. Nous allons vois dans ce chapitre comment faire. Paginer (paginate) le résultat d’une requête Dans l’application d’exemple en page d’accueil on a 6 articles présentés accompagnés d’une pagination : On peut ainsi naviguer dans les pages avec facilité. Si on regarde le code dans le contrôleur Front/PostController : public function index() { $posts = $this->postRepository->getActiveOrderByDate($this->nbrPages); return view('front.index', compact('posts')); } On voit qu’on fait appel à la méthode getActiveOrderByDate du…

  • Laravel 5

    Cours Laravel 5.5 – les données – gérer un arbre

    On a souvent le cas d’une structure arborescente dans une base de données, par exemple pour un menu, des catégories et sous-catégories. Il existe deux grande façons d’aborder et résoudre ce problème : on peut se contenter de prévoir une colonne pour mémoriser l’identifiant du parent. C’est simple mais contraint à une approche récursive pour retrouver les données. on peut approcher ce problème sous forme d’ensembles imbriqués, c’est plus complexe mais bien plus performant (pour une explication en français c’est ici). Dans un premier temps j’avais adopté la première approche puis je suis passé à la seconde parce que je n’étais pas satisfait du résultat en terme de performances. Plutôt…

  • Laravel 5

    Cours Laravel 5.5 – les données – le polymorphisme

    Lors des deux précédents chapitres on a vu les principales relations que nous offre Eloquent : hasMany et belongsTomany. Je ne vous ai pas parlé de la relation hasOne parce que c’est juste du hasMany limité à un seul enregistrement et est peu utilisé. Dans tous les cas qu’on a vus on considère 2 tables en relation. Dans le présent chapitre on va envisager le cas où une table peut être en relation avec plusieurs autres tables, ce qui se nomme du polymorphisme. Un peu de théorie La relation 1:1 ou 1:n On a vu cette relation, en voici une schématisation pour fixer les esprits : On a a possède…

  • Laravel 5

    Cours Laravel 5.5 – les données – la relation n:n

    Dans le précédent chapitre nous avons vu la relation de type 1:n, la plus simple et la plus répandue. Nous allons maintenant étudier la relation de type n:n, plus délicate à comprendre et à mettre en œuvre. Nous allons voir qu’Eloquent permet de simplifier la gestion de ce type de relation. La relation n:n Imaginez une relation entre deux tables A et B qui permet de dire : je peux avoir une ligne de la table A en relation avec plusieurs lignes de la table B, je peux avoir une ligne de la table B en relation avec plusieurs lignes de la table A. Cette relation ne se résout pas…

  • Laravel 5

    Cours Laravel 5.5 – les données – la relation 1:n

    Pour le moment nous n’avons manipulé qu’une table avec Eloquent. Dans le présent chapitre nous allons utiliser deux tables et les mettre en relation. La relation la plus répandue et la plus simple entre deux tables est celle qui fait correspondre un enregistrement d’une table à plusieurs enregistrements de l’autre table, on parle de relation de un à plusieurs ou encore de relation de type 1:n. Il vous faut l’application d’exemple installée et fonctionnelle pour ce chapitre parce que nous allons considérer deux de ses tables et donc de ses modèles. On a les tables users et posts, la première mémorise les utilisateurs et la seconde les articles. Il y…

  • Laravel 5

    Cours Laravel 5.5 – les données – jouer avec Eloquent

    On a commencé à voir Eloquent et les modèles dans le premier chapitre de cette partie du cours, mais on s’est limité pour le moment à créer un enregistrement. Dans ce chapitre on va aller plus loin en explorant les possibilités d’Eloquent, couplé à un puissant générateur de requêtes, pour manipuler les données. Pour effectuer les manipulations de ce chapitre vous aurez besoin d’une installation fraîche de Laravel complétée avec les éléments de l’authentification comme on l’a vu dans le chapitre correspondant. Les migrations devront également être effectuées pour qu’on puisse utiliser la base de données. Vous aurez également besoin de l’application d’exemple fonctionnelle. Tinker Artisan est plein de possibilités,…