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`)' ».
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 :
class Travail extends Model
{
/**
* Table associée au modèle.
*
* @var string
*/
protected $table = 'travaux';
}
▼Publicité