我正在使用包spatie/laravel-medialibrary并且我想更改名为 Media 的模态上的 primaryKey,而无需编辑包 src 文件。
在我的项目中,我使用 uuids 作为我所有模型的主键,所以很自然地,我想对这个包提供的 Media.php 模型做同样的事情。
$table->bigInteger('id')
我已经通过删除该行并将该行更改为$table->uuid('uuid')->nullable();
来更改迁移以反映这一点table->uuid('uuid')->unique()->primary();
但是,现在我也想让模型知道我正在使用不同的密钥,通过设置protected $primaryKey = 'uuid';
,protected $keyType = 'string';
但我找不到在 Media.php 模型的包 src 文件之外执行此操作的方法
基本上,我最终要做的只是实现 HasMedia 接口并在我的 Profile 模型上使用 InteractsWithMedia 特征,如下所示:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class Profile extends Model implements HasMedia
{
use InteractsWithMedia;
}
关于如何实现这一目标的任何建议?
谢谢。