Laravel为特定列创建GUID

x8diyxa7  于 2023-04-07  发布在  其他
关注(0)|答案(2)|浏览(150)

我想为Laravel 5中的特定列创建一个UUID/GUID。所以我使用Webpatser的库来获取Laravel 5中的UUID。
我想将此设置为特定列的默认值,所以我想我应该使用属性,还是?
但是当我使用

protected $attributes = array('guid' => Uuid::generate(4)->string);

我总是得到一个错误:

syntax error, unexpected '(', expecting ')'

我不确定,因为语法看起来很好,当我尝试

protected $attributes = array('guid' => 'dsadasfasfsaf');

一切正常(guid是一个varchar(36)字段)

Uuid::generate(4)->string

返回字符串。
我还需要其他东西来为我的模型创建默认值吗?提前感谢。

mm9b1k5b

mm9b1k5b1#

PHP无法解析初始化器中的非平凡表达式。
你可以这样做:

class YourClass 
{
    protected $attributes;

    function __construct()
    {
        $this->attributes = array('guid' => Uuid::generate(4)->string);
    }
}

或者使用setter方法:

class YourClass 
{
    protected $attributes;

    public function setAttributes($attributes)
    {
        $this->attributes = $attributes;
    }
}

$classInstance = new YourClass;
$classInstance->setAttributes(array('guid' => Uuid::generate(4)->string));
jdzmm42g

jdzmm42g2#

$identifier = WebpatserUuidUuid::generate(4)-〉string;

相关问题