Laravel Eloquent Как выбрать и изменить строки в сводной таблице? - PullRequest
2 голосов
/ 20 сентября 2019

У меня есть три таблицы базы данных, которые называются user (id, name), group (id, name) и user_group (user_id, group_id, valid_before) со связями многие ко многим.

class User extends Model
{
    protected $table = 'user';

    public function groups()
    {
    return $this->belongsToMany(Group::class, 'user_group')
        ->withPivot('valid_before');
    } 
}

class Group extends Model
{
    protected $table = 'group';

    public $timestamps = false;

    public function user()
    {
        return $this->belongsToMany(User::class, 'user_group');
    }
}

Пользователь может быть членомнекоторой группы до момента времени 'valid_before'.Если 'valid_before' меньше текущего времени, пользователь должен быть исключен из группы и соответствующая строка в сводной таблице должна быть удалена.Как выбрать в сводной таблице строки, в которых strtotime ($ validBefore)

1 Ответ

2 голосов
/ 20 сентября 2019

используйте cronjob, затем просто используйте detach($group_id), как показано ниже: -

$user = User::find($id);
if(time_exceeded($user->id))  //checks if user should stay in a group
$user->groups()->detach($group_id);

используйте эту ссылку для ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...