問題:
2 つの主キーを持つデータベース テーブルがあります。 、id や language_id など、この関係を Laravel 5 モデルに反映する必要があります。ただし、Laravel モデルのデフォルトの主キーは id であり、配列または文字列を使用してそれを変更しようとすると失敗します。
解決策:
この問題を解決するには、次のようにします。 PHP トレイトを利用して、複合キーを処理する Eloquent の機能を強化できます。特性と使用法の内訳は次のとおりです:
PHP 特性:
namespace App\Model\Traits; // Adjust this to match your model namespace! use Illuminate\Database\Eloquent\Builder; trait HasCompositePrimaryKey { // ... Trait code goes here ... }
使用法:
class MyModel extends Eloquent { use Traits\HasCompositePrimaryKey; protected $primaryKey = array('key1', 'key2'); // ... }
機能:
追加注:
このトレイトを実装すると、複合キーをシームレスに処理できます。 Laravel 5 モデル。データベース構造を遵守しながらデータの整合性を維持します。
以上がLaravel 5モデルで複合主キーを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。