我要做的就是为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。一切正常。
答案 0 :(得分:2)
https://laravel.com/docs/6.x/eloquent#mass-assignment
您也可以使用
create
方法将新模型保存在一行中。插入的模型实例将从该方法返回给您。但是,在执行此操作之前,您需要在模型上指定fillable
或guarded
属性,因为默认情况下,所有Eloquent模型都可以防止大规模分配。
所有不允许填充的东西都会被丢弃。