Problème :
Vous avez une table de base de données avec deux clés primaires , tels que id et language_id, et vous devez refléter cette relation dans vos modèles Laravel 5. Cependant, la clé primaire par défaut dans les modèles Laravel est id et les tentatives de modification à l'aide de tableaux ou de chaînes ont échoué.
Solution :
Pour surmonter ce problème, vous peut utiliser un trait PHP pour améliorer les capacités d'Eloquent en matière de gestion des clés composites. Voici une description du trait et de son utilisation :
Trait PHP :
namespace App\Model\Traits; // Adjust this to match your model namespace! use Illuminate\Database\Eloquent\Builder; trait HasCompositePrimaryKey { // ... Trait code goes here ... }
Utilisation :
class MyModel extends Eloquent { use Traits\HasCompositePrimaryKey; protected $primaryKey = array('key1', 'key2'); // ... }
Fonctionnalité :
Supplémentaire Notes :
En implémentant ce trait, vous pouvez gérer de manière transparente les clés composites dans vos modèles Laravel 5, en maintenant l'intégrité des données tout en adhérant à la structure de votre base de données.
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!