Установить случайную строковую переменную в laravel InfyOm - PullRequest
0 голосов
/ 29 мая 2020

Привет, я использую 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}");
}    

1 Ответ

0 голосов
/ 29 мая 2020

Я не знаком с 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...