我正在我的软件中开发一个推荐系统。我已经获得了正确的推荐,但我想列出所有推荐某人的用户以及他们在管理端推荐的人数。这是我的用户模型public function referrals(){ return $this->hasMany(Referral::class, 'user_id', 'id');}public function referrer(){ return $this->hasOne(Referral::class, 'referred_by', 'id');}注意:referred_by是推荐某人的人,user_id 是被推荐的人这是我的推荐模型protected $fillable = ['user_id', 'referred_by', 'status'];public function user(){ return $this->belongsTo(User::class);}这是我的推荐迁移Schema::create('referrals', function (Blueprint $table) { $table->id(); $table->integer('user_id')->unsigned()->references('id')->on('users'); $table->integer('referred_by')->unsigned()->references('id')->on('users'); $table->string('status')->nullable(); $table->timestamps(); });
1 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
您可以根据has('relationshipName')
您的案例用户中是否存在关系来限制您的结果,这些用户已引用了某些.
它将withCount('relationshipName')
计算关系中的结果数量,而不实际加载它们。
User::has('referrals')->withCount('referrals')->get()
- 1 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消