Définition de clés primaires composites dans les modèles Laravel 5
Vous avez une table avec deux clés primaires (id et language_id) et souhaitez les inclure dans vos modèles Laravel 5. Par défaut, la clé primaire dans les modèles Laravel est « id », mais vous avez besoin que vos clés primaires soient « id » et « id_langage ».
Pour ce faire, vous pouvez utiliser un trait PHP qui adapte Eloquent à gérer les clés composites :
namespace App\Model\Traits; // Adjust this to match your model namespace! use Illuminate\Database\Eloquent\Builder; trait HasCompositePrimaryKey { // ... (Code from provided answer) }
Placez ce trait dans un répertoire "Traits" sous votre répertoire de modèle principal. Ensuite, ajoutez la ligne suivante en haut de n'importe quel modèle de clé composite :
class MyModel extends Eloquent { use Traits\HasCompositePrimaryKey; // *** THIS!!! *** /** * The primary key of the table. * * @var string */ protected $primaryKey = array('key1', 'key2'); // ... }
Notes supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!