Formation PUB030 : Laravel, 2019 Le modèle de données

7.3 Formes plurielles irrégulières


Tôt ou tard, vous aurez à travailler avec une table dont la forme plurielle du nom n'est pas obtenue en ajoutant simplement un s (ex : un travail - des travaux). Si les exceptions sont nombreuses en français, le même problème se pose avec les noms de table en anglais : person - people, fish - fishes, dwarf - dwarves, etc.

▼Publicité Le texte se poursuit plus bas

Si vous tentez de créer un modèle Travail qui interagit avec la table travaux et que vous ne prenez aucune précaution, vous obtiendrez un message du genre « 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'helloworld.travails' doesn't exist (SQL: select count(*) as aggregate from `travails`)' ».

Table 'helloworld.travails' doesn't exist

Pour régler ce problème, on précisera le nom de la table associée au modèle à l'aide d'une propriété dans la classe.

Ex :

Fichier modèle (PHP)

class Travail extends Model

{

    /**

     * Table associée au modèle.

     *

     * @var string

     */

    protected $table = 'travaux';

}

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 28 mai 2018
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre