在laravel注册上创建客户

时间:2019-12-05 19:15:12

标签: php laravel stripe-payments laravel-authentication

我要做的就是为Laravel上的每个注册用户创建一个条纹客户帐户。 我现在面临的问题是$new变量没有传递给User::create函数。

我正在尝试编辑RegisterController.php,这是我正在使用的create()函数:

public function create(array $data)
{
    \Stripe\Stripe::setApiKey('sk_test_XXXXXXXXXXXXXXX');

    $new = \Stripe\Customer::create([
        'email' => $data['email'],
        'name' => $data['name'],
        'description' => "Contribee.com platform's user",
    ]);

    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'stripe_code' => $new->id,
        'password' => Hash::make($data['password']),
    ]);
}

我已经在另一个控制器中对此进行了测试,并且$new输出生成的ID。一切正常。

1 个答案:

答案 0 :(得分:2)

https://laravel.com/docs/6.x/eloquent#mass-assignment

  

您也可以使用create方法将新模型保存在一行中。插入的模型实例将从该方法返回给您。但是,在执行此操作之前,您需要在模型上指定fillableguarded属性,因为默认情况下,所有Eloquent模型都可以防止大规模分配。

所有不允许填充的东西都会被丢弃。