在 laravel InfyOm 中设置随机字符串变量

Set random string variable in laravel InfyOm

您好,我使用 InfyOm (Laravel Genrator)。 我想在添加新记录时将随机字符串设置为变量键,但我不知道该怎么做。

按键控制器

public function store(CreatekeysRequest $request)
{
    $input = $request->all();

    $keys = $this->keysRepository->create($input);


    Flash::success('Added');

    return redirect(route('keys.index'));
}

我使用修改器在密钥模型上生成字符串,但是当我编辑记录时密钥总是改变。

按键型号

public function setDomainAttribute($value) {
    $this->attributes['domain'] = $value;
    $key = $this->attributes['key'] = Str::random(16);
    Flash::success("Key generated for {$value}<br><b>{$key}");
}    

我不熟悉 InfyOm,但我相信您可以像这样使用标准 Eloquent 事件:

<?php
// models/Key.php
class Key
{
    public static function boot()
    {
        parent::boot();
        self::creating(function($model) {
            $model->key = Str::random(16);
        });
    }
}

以上代码将在您创建新的密钥模型时设置 key 属性。

https://laravel.com/docs/7.x/eloquent#events