问题:
你有一个包含两个主键的数据库表,例如 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中文网其他相关文章!