У меня есть приложение, такое как Instagram, в котором пользователи могут следить друг за другом, поэтому я добавил это в свою модель пользователя:
public function following()
{
return $this->belongsToMany(User::class, 'follow_rel', 'follower_id', 'followed_id');
}
public function followers()
{
return $this->belongsToMany(User::class, 'follow_rel', 'followed_id', 'follower_id');
}
public function follow(User $user)
{
$this->following()->syncWithoutDetaching($user);
}
public function unfollow(User $user)
{
$this->following()->detach($user);
}
, и это моя миграция:
Schema::create('follow_rel', function (Blueprint $table) {
$table->increments('id');
$table->boolean('accepted')->default(false);
$table->unsignedInteger('follower_id');
$table->unsignedInteger('followed_id');
$table->timestamps();
});
Работает нормально, но я не знаю, как обращаться с «принятой» колонкой.Как и в Instagram, я хочу, чтобы первый пользователь отправил запрос, и если учетная запись второго пользователя является личной, установите для принятого столбца значение false, поэтому, когда я пишу запрос для получения follow_relations, пропускаем те, которые не принимаются (как мягкое удаление).Как мне изменить свое отношение, чтобы добиться этого?или я должен сделать другую таблицу с именем 'requst_rel' и после принятия переместить ее в таблицу follow_rel?любая помощь будет оценена спасибо