在 Laravel 5 模型中定义复合主键
您有一个包含两个主键(id 和 language_id)的表,并且想要包含它们在你的 Laravel 5 模型中。默认情况下,Laravel 模型中的主键是“id”,但您需要主键是“id”和“id_language”。
要实现此目的,您可以利用适用于 Eloquent 的 PHP 特性处理复合键:
namespace App\Model\Traits; // Adjust this to match your model namespace! use Illuminate\Database\Eloquent\Builder; trait HasCompositePrimaryKey { // ... (Code from provided answer) }
将此特征放置在主模型目录下的“Traits”目录中。然后,将以下行添加到任何复合键模型的顶部:
class MyModel extends Eloquent { use Traits\HasCompositePrimaryKey; // *** THIS!!! *** /** * The primary key of the table. * * @var string */ protected $primaryKey = array('key1', 'key2'); // ... }
附加说明:
以上是如何在 Laravel 5 模型中定义复合主键?的详细内容。更多信息请关注PHP中文网其他相关文章!