双引导功能导致特征串通

Double boot function causes trait collusion

laravel 调试器向我显示此错误:

Trait 方法引导尚未应用,因为在 App\User

上与其他 trait 方法有冲突

如果我删除其中一个特征,Uuids 或 Entrust,则不会显示错误。但我需要他们两个。那么我该如何解决这个问题呢?'

我正在使用laravel 5.8

提前致谢!

namespace App;
use Zizaco\Entrust\Traits\EntrustUserTrait;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{

    use Uuids;
    use EntrustUserTrait;

}

特征 Uuid

   <?php
namespace App;

use Webpatser\Uuid\Uuid;

trait Uuids
{
    /**
     * Boot function from laravel.
     */
    protected static function boot()
    {
        parent::boot();
        static::creating(function ($model) {
            $model->{$model->getKeyName()} = Uuid::generate(5,'test', Uuid::NS_DNS);
        });
    }
}

我认为必须对引导功能做一些事情

<?php
namespace App;

use Webpatser\Uuid\Uuid;

trait Uuids
{
    /**
     * Boot function from laravel.
     */
    protected static function bootUuids()
    {
        static::creating(function ($model) {
            $model->{$model->getKeyName()} = (string) Uuid::generate(4);
        });
    }
}

参考: