我正在尝试将 uuid 设置为 Laravel 模型中的主键。我已经在我的模型中设置了一个启动方法,因此我不必在每次想要创建和保存模型时手动创建它。我有一个控制器,它只是创建模型并将其保存在数据库中。
它已正确保存在数据库中,但是当控制器返回时,id 的值总是以0
. 我怎样才能让它真正返回它在数据库中创建的值?
模型
class UserPersona extends Model
{
protected $guarded = [];
protected $casts = [
'id' => 'string'
];
/**
* Setup model event hooks
*/
public static function boot()
{
parent::boot();
self::creating(function ($model) {
$uuid = Uuid::uuid4();
$model->id = $uuid->toString();
});
}
}
控制器
class UserPersonaController extends Controller
{
public function new(Request $request)
{
return UserPersona::create();
}
}