如何在此二元参照系统中插入位置ID

时间:2018-07-22 18:26:15

标签: laravel

User table with position (Right,Left)

我创建了具有推荐链接的用户注册系统。 新用户可以轻松地在此推荐ID下注册,我将新用户设置为左右位置。 但是我仍然需要注意的一点是由于二叉树系统,在用户表中添加了位置ID,新用户将放在左右树中。 因此,如果现有用户在他的前面,则该位置将在现有用户的下面。 为此,我想设置位置ID来计数和排序此二叉树用户。

这里是我的注册控制器

  protected function create(array $data)
{
  $referred_by = Cookie::get('referral');
     return  $user =  User::create([
        'name' => $data['name'],
        'email' => $data['email'],
       'position' => $data['position'],
        'password' => Hash::make($data['password']),
        'affiliate_id' => str_random(10),
        'referred_by'   => $referred_by,
        //'position_id' => ?


    ]);

}

这是我的用户表

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');

        $table->string('name');
        $table->string('position');
        $table->string('email')->unique();
      //  $table->string('posid');
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}



Schema::create('users', function (Blueprint $table) {
 $table->increments('id');
 $table->unsignedInteger('parent_id')->nullable(); // root user will have null parent_id
 $table->string('name');
 $table->string('position');
 $table->string('email')->unique();
 $table->string('password');
 $table->string('posid');
 $table->rememberToken();
 $table->timestamps();

 $table->foreign('parent_id')->references('id')->on('users')->onDelete('cascade'); // cascade delete children when deleting parent

});

如何编辑registercontroller以在数据库中获取此职位ID。 我可以为在系统中注册的每个用户ID使用parent_id吗? 如何使用它。

请帮助我。

0 个答案:

没有答案