Връзка „много към много“ с Laravel и Eloquent

Съдържание
Ларавел ни помага да работим с базата данни, като опростяваме езика SQL, вече не се налага да правим запитвания, ако не искаме, като използваме вашето ORM КрасноречивС това можем дори да работим по много по -сложни системи за взаимоотношения между таблици, без да се налага да правим единствено директно запитване към базата данни.
За да постигнем това, трябва да установим идентификаторите, които са свързани и също така да включим в модела тип атрибут, който показва споменатата връзка.
Първата стъпка, която трябва да предприемем, за да създадем отношения много към много е да генерира междинна таблица, тя трябва да съдържа полетата, които я свързват с първичните таблици, за това трябва да следваме следните стъпки:
1- Ще генерираме миграцията с помощта занаятчия със следната команда:
php artisan migrate: make create_show_user

2- В този случай генерираме таблица, която ще комбинира таблица, наречена Покажи и масата Потребител на нашето приложение.
3- След това в метод up () Ще генерираме полетата на таблицата, с това всеки път, когато стартираме миграцията, таблицата ще бъде създадена:

Следващата стъпка е да изградим нашата МоделиЗа това трябва да създадем файл с името на таблицата, след това вътре ще поставим връзката с таблицата в конструктора, нека видим модела на всяка от таблиците, които ще свържем.
1- Във файла Show.php в маршрута приложение / модели ще поставим следното:

2- Виждаме, че имаме метод, наречен принадлежи наToMany (), и ние предаваме името на модела, към който той ще бъде свързан, това прави Красноречив Когато създавате обект на модел, знайте, че той има връзка с междинна таблица заедно с тази таблица.
3- Сега ще създадем файл за таблицата Show, в него ще повторим същото, но ще го асоциираме с User:

До този момент имаме необходимата функционалност на базата данни, за да можем да работим върху нашата междинна таблица.
Ще създадем маршрут, където ще въведем потребител и към това ще присвоим предаванията, за това трябва да създадем обекта на Потребителски модел и направете вмъкване на запис, тогава ще извикаме метода показва () с които можем да зададем новия запис, нека видим:

В този маршрут също виждаме, че използваме метод, наречен attach (), това е тази, която ни позволява да направим съответната асоциация, след това получаваме данните и правим var_dump (), за да видим пълните данни.
С това създадохме междинната таблица и направихме връзка „много към много“ по основен начин, но това не е дори 1% от това, което можем да постигнем, разбира се, че изследването и практиката са ключът.
С това приключваме този урок, ние вече изградихме нашата връзка „много към много“ Красноречив без да е необходимо да правите единична SQL заявка директно срещу нашата база данни.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave