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

时间:2015-08-07 18:39:42

标签: php laravel laravel-4

每当在laravel

中创建新用户时,我都会尝试使用随机字符串填充两列

在用户模型

中可能是这样的
public function putStringInDatabase () {
    $this->public_key = str_random(40);
}

每当在users表中添加新行时,public_key和private_key列就会被该随机字符串自动更新

3 个答案:

答案 0 :(得分:1)

看看Model Events。具体来说是creating

例如:

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

答案 1 :(得分:0)

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

尝试使字符串唯一!

答案 2 :(得分:0)

您可以在创建记录时在控制器中执行此操作

/**
 * 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;
}

这将允许您在批量分配之外添加一个public_key。