Я создаю систему регистрации пользователей с реферальной ссылкой. Я хочу, чтобы новые пользователи считались списками пользователей уровня 1, уровня 2, и хочу кредитовать пользователя-спонсора. Я имею в виду, если новый пользователь зарегистрируется по реферальной ссылке пользователя A, он получит реферальный бонус в виде amazon. Поэтому нужно подсчитывать пользователей на уровне 1 и уровне 2. Я заплачу только за эти два уровня. Поэтому мне нужно вставлять данные всякий раз, когда новый пользователь регистрируется как уровень спонсора. и нужно кредитовать спонсора пользователя.
У меня есть таблица, как эта
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->integer('user_level')->nullable();
$table->string('referred_by')->nullable();
$table->string('affiliate_id')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
Мне нужно отредактировать в регистре контроллера. Как можно вставить данные для user_level. Для первой регистрации пользователя это будет Null. Но новый пользователь под ним должен быть уровня 1, а второе поколение должно быть уровня 2. Как это сделать.
protected function create(array $data)
{
$referred_by = Cookie::get('referral');
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'affiliate_id' => str_random(10),
'referred_by' => $referred_by,
]);
return $user;
}