Laravel 7 建立联系以找出邀请我的人

在我的网络应用程序中,每个应用程序都可以像网络系统一样拥有无限的用户。我可以找到哪个用户注册了用户参考码,但我想知道谁是我的父母并邀请我注册


例如,此代码可以返回有多少用户使用我的参考代码注册:


$users = User::whereNull('user_id')->with('child')->get();

模型:


public function child()

{

    return $this->hasMany(User::class)->with('child');

}

我怎样才能知道谁是孩子的父母?就像从树枝到根


User迁移文件:


Schema::create('users', function (Blueprint $table) {

    $table->id();


    $table->string('name')->nullable();

    $table->string('family')->nullable();

    $table->string('username')->unique();


    $table->string('email')->unique();

    $table->timestamp('email_verified_at')->index()->nullable();


    $table->unsignedBigInteger('user_id')->index()->nullable();

    $table->foreign('user_id')->references('id')->on('users');


    $table->string('password');


    $table->rememberToken();

    $table->softDeletes();

    $table->timestamp('created_at')->useCurrent();

    $table->timestamp('updated_at')->useCurrent();

});

User模型:


class User extends Authenticatable

{

    use Notifiable, SoftDeletes;


    protected $guarded = [

        'id',

    ];

    protected $hidden = [

        'password', 'remember_token',

    ];


    protected $casts = [

        'email_verified_at' => 'datetime'

    ];


    public function users()

    {

        return $this->hasMany(User::class)->with('users');

    }

}


白衣非少年
浏览 88回答 2
2回答

largeQ

为了得到父母{     return $this->belongsTo(User::class, 'user_id'); }为了让孩子们{     return $this->hasMany(User::class, 'user_id', 'id'); }

喵喵时光机

此解决方案工作正常:public function child(){    return $this->hasMany(User::class)->with('child');}public function parent(){    return $this->belongsTo(User::class, 'user_id');}
打开App,查看更多内容
随时随地看视频慕课网APP