为了账号安全,请及时绑定邮箱和手机立即绑定

我想返回一个用户,其中包含他们推荐的所有人员的列表

我想返回一个用户,其中包含他们推荐的所有人员的列表

PHP
慕田峪7331174 2023-07-30 13:32:30
我正在我的软件中开发一个推荐系统。我已经获得了正确的推荐,但我想列出所有推荐某人的用户以及他们在管理端推荐的人数。这是我的用户模型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()


查看完整回答
反对 回复 2023-07-30
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信