每当添加新行时,尝试在列中添加随机字符串


Trying to add random strings in columns whenever new row added

每当在laravel中创建新用户时,我试图用随机字符串填充两列

也许像这样在User model

public function putStringInDatabase () {
    $this->public_key = str_random(40);
}

并且每当在users表中添加新行时,public_key和private_key列将由该随机字符串自动更新

看一下Model Events。特别是creating .

例如:

User::creating(function($user) {
    $this->public_key = str_random(40);
    $this->private_key = str_random(40);
});

http://php.net/manual/en/function.uniqid.php

尝试使字符串唯一!

可以在创建记录时在控制器中执行

/**
 * Create a new Object instance.
 *
 * @param array $data
 *
 * @return Object
 */
protected function create(array $data)
{
    $object = new Object([
        'fields' => $data['values']
        'email' => $data['email'],
    ]);
    $object->public_key = str_random(40);
    $object->save();
    return $object;
}

这将允许您在mass分配之外添加一个public_key