Как проверить уникальное поле в первичной и внешней таблицах на основе столбца в первичной таблице - PullRequest
0 голосов
/ 04 февраля 2019

У меня следующая проблема: у меня есть таблица продуктов со столбцом трески.Эта таблица продуктов имеет отношение один ко многим с вариацией, один продукт может иметь несколько вариаций.В таблице вариантов также есть столбец трески.

  product     variation2      here product has two variations      
   cod 12       cod 13
   id 1         product_id 1
   user_id 100

         variation1
         cod 14
          product_id 1

Пользователь не может вставить продукт, если он уже вставил продукт или вариант с определенным кодом.

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

Самое длинное, что я мог получить, было:

  "cod" => 'unique:product|unique:variation'

Но как я могу основать проверку по user_id на таблице продукта?

1 Ответ

0 голосов
/ 04 февраля 2019

Для проверки такого типа просто выберите select для таблиц product variation1 и variation2 (с объединениями в 'cod'), и если вы не получите ни одной строки, вы можете сохранить модель (все еще внутри транзакции),Поскольку эта ситуация инкапсулирована только для одного пользователя (и я предполагаю, что он может работать с одного компьютера одновременно), вам не нужно использовать транзакция и оптимистическая / пессимистическая блокировка

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