Я разрабатываю реферальную систему в своем программном обеспечении. Я получил право направления, но я хочу перечислить всех пользователей, на которых ссылаются пользователи auth.
Примечание: я пишу конечную точку API, поэтому я не могу использовать отношения для отображения их имени. Вот моя модель пользователя
public function referrals()
{
return $this->hasMany(Referral::class, 'user_id', 'id');
}
public function referrer()
{
return $this->hasOne(Referral::class, 'referred_by', 'id');
}
Примечание: refer_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();
});