Laravel Функциональность переключения клиентов - PullRequest
0 голосов
/ 08 апреля 2020

Я новичок в laravel и не имею большого опыта использования ORM. Я строю систему, в которой мне нужны функциональные возможности сборки, чтобы пользователь мог переключать клиентов с другим пользователем. Я не уверен, что это лучший метод для достижения этой цели.

В настоящее время клиент принадлежит пользователю. Нужна ли мне другая ассоциация для модели клиента и пользователя, использующего другой внешний ключ?

public function clients()
{
    return $this->hasMany('App\Client');
}

public function user()
{
    return $this->belongsTo('App\User');
}

Несмотря на то, что у клиента может быть только один запрос на переключение пользователя, я хотел бы отслеживать все запросы, например, если пользователь A отправляет запрос на переключение клиента. Протестируйте пользователя B, а затем сделайте еще один запрос на переключение. тот же клиент с пользователем C Я хотел бы мягко удалить первую запись и создать новую запись для нового запроса. Как только другой пользователь принимает запрос, мы меняем первичный ключ для Test клиента в таблице клиентов. Будут ли это отношения «Один ко многим / Многие ко многим»

Каким соглашениям об именах таблиц мне нужно следовать? Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 09 апреля 2020

Если я вас правильно понял, вы бы хотели временно переключать клиентов для одного пользователя на другого. Что вы должны сделать, это иметь другую таблицу с именем switched-clients, которая содержит записи для коммутаторов со столбцами user1 и user2. Когда вы хотите получить клиентов, ваш контроллер сначала проверяет эту таблицу, а если запись существует where('user1', 'user A') (в соответствии с вашим примером), то вы извлекаете клиентов для пользователя user2.

...