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.

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';

}

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre