No video

#3 Связь многие ко многим LARAVEL (Many-to-Many)

  Рет қаралды 7,492

Vladislav Groniuk

Vladislav Groniuk

Күн бұрын

Продолжаем изучать связи в Laravel и в этом уроке мы с вами познакомимся с связью многие ко многим.
Буду рад вашему лайку и подписке на мой канал! Обязательно поделись видео с друзьями, это лучше любых донатов.
Подписка на канал / @vladislavgroniuk

Пікірлер: 37
@stashek7453
@stashek7453 3 жыл бұрын
Дай бог тебе миллионы подписчиков, за такие старания
@VladislavGroniuk
@VladislavGroniuk 3 жыл бұрын
Спасибо большое)
@ismayilnazarov8794
@ismayilnazarov8794 Жыл бұрын
Супер. Большое спасибо. Все очень доходчиво.
@VagonFactov
@VagonFactov 2 жыл бұрын
Большое спасибо за видео в отличном качестве, весь код видно, видно в каких, файла работаешь
@SanyaHP3
@SanyaHP3 2 жыл бұрын
Спасибо, что помогаешь выучить ларавель!
@webStandard1151
@webStandard1151 3 жыл бұрын
Краса! Спасибо!
@user-dp6bq4mv1g
@user-dp6bq4mv1g 3 жыл бұрын
thank you 😊
@user-uj3rj6th2g
@user-uj3rj6th2g 3 жыл бұрын
лайк патписька калакольчек
@hakobpetrosyan8168
@hakobpetrosyan8168 2 жыл бұрын
спасибо
@pavel1055
@pavel1055 3 жыл бұрын
Лови комментарий
@armankaliakyn1296
@armankaliakyn1296 3 жыл бұрын
👍
@FiberJack
@FiberJack 3 жыл бұрын
Спасибо))
@bigloafef
@bigloafef 3 жыл бұрын
Подписка на канал. Реально сделать урок по правам, ролям доступа пользователей из коробки без применения сторонних решений? Может быть по группам пользователей ... Ну выборки как организовывать.
@FiberJack
@FiberJack 3 жыл бұрын
+ тоже хотелось бы
@user-iy5sn5bt5k
@user-iy5sn5bt5k 3 жыл бұрын
ТОп
@user-ji7sm5hw1j
@user-ji7sm5hw1j 3 жыл бұрын
Первый нах) лайк не глядя)
@androidiosgameplay-anrad7256
@androidiosgameplay-anrad7256 2 жыл бұрын
cinema_id и movie_id в соединительной таблице уже является состовным ключом и поэтому там первичный ключ id ненужен. И да состовной ключ также должен быть уникальным. А это значит генерировать рандомно данные может привести к дубликату.
@androidiosgameplay-anrad7256
@androidiosgameplay-anrad7256 2 жыл бұрын
Я незнаю можно ли сгенерировать состовной ключ с помощью faker чтобы он был уникальным. Если кто знает напишите здесь ответ.
@resolution07
@resolution07 2 жыл бұрын
С чего ты решил что там не нужен первичный ключ? В моей практике такого никогда не было.
@androidiosgameplay-anrad7256
@androidiosgameplay-anrad7256 2 жыл бұрын
@@resolution07 Так состовной ключ это и есть первичный ключ только состоящий из двух полей.
@resolution07
@resolution07 2 жыл бұрын
@@androidiosgameplay-anrad7256 мои извинения, туплю что-то с утра...
@pavelstetsiuk5224
@pavelstetsiuk5224 3 жыл бұрын
Влад, спасибо за урок. Но хотелось бы чтобы ты побольше уделял внимания выбору названий таблиц, столбцов и методов. Ведь это очень важно знать для кода без багов и чтоб всё летало)))))). Я имею ввиду что у тебя не зря выбраны такие названия cinemas, movies, а в сводной таблице cinema_id и movie_id и название таблицы cinema_movie (Имя таблицы cinema_movie получается из упорядоченных по алфавиту имён связанных моделей, она должна иметь поля cinema_id и movie_id (взято из документации, касается многие-ко-многим)). И по выбору названия метода связывания если я не ошибаюсь тоже есть требования (По умолчанию Eloquent определяет внешний ключ по имени метода отношения плюс _id(один-к-одному, один-ко-многим точно, многие-ко-многим не уверен))(поправь если я не прав). Понятно что можно почитать документацию, но если раз уж мы изучаем связи)))))))), то я думаю для новичков будет не лишним об этом узнать.
@VladislavGroniuk
@VladislavGroniuk 3 жыл бұрын
Спасибоо) я в первом уроке больше всего рассказывал про то как называть таблицы и поля для связи)
@pavelstetsiuk5224
@pavelstetsiuk5224 3 жыл бұрын
@@VladislavGroniuk я смотрел все уроки,сейчас попробовал назвать метод связи как ты и сказал как угодно. Так вот какая интересная штука получается в один-к-одному: class Director extends Model { use HasFactory; public function getallfilm() { return $this->hasOne(Film::class); } } так работает, а вот в обратной связи не работает!!!!!!!!!!! class Film extends Model { use HasFactory; public function getdirector() { return $this->belongsTo(Director::class); } // ТАК НЕ РАБОТАЕТ } пока не пропишешь второй параметр class Film extends Model { use HasFactory; public function getdirector() { return $this->belongsTo(Director::class, 'director_id'); } }
@DeniZZZNET
@DeniZZZNET 2 жыл бұрын
Спасибо за урок. Зачем в таблице связи ключ ID? По технологии проектирования баз данных он не нужен, так как у нас будет составной ключ director_id и movie_id. Создавая суперключ id мы можем попасть в очень не хорошую ситуацию, когда в таблицу можно будет записать две записи с одинаковыми значениям director_id и movie_id, но разным id. Это и есть самая главная проблема. Как от этого избавиться? Как сделать составной ключ? С дополнительным ID получилось как будто две связи в одной некой сущности))
@maksim4334
@maksim4334 3 жыл бұрын
Третий урок, а автор вспоминает слово конвенция названий в Laravel. Чуть глубже, чем просто поверхностный видео на ютубе. Буду смотреть дальше, надеюсь, что будет интереснее.
@user-sd8fk6bx3z
@user-sd8fk6bx3z 2 жыл бұрын
Влад спасибо за труд, но есть замечания. Первые 10 минут идут подготовительный код, который не относится к теме. А вторых не полностью все раскрыто, кастомная пивот таблица, пример подсчёта суммы и прочее
@user-qn1xb8fd4b
@user-qn1xb8fd4b 3 жыл бұрын
продвигайся давай)
@NikolayKonshin
@NikolayKonshin Жыл бұрын
А как быть если модели например ProductCategory и Product, соответственно таблицы product_categories и products. Как их правильно связать? product_category_product - такая pivot-таблица будет? а поля в ней: product_category_id и product_id ????
@penaltyin90min
@penaltyin90min 3 жыл бұрын
Влад, как можно обнулить счетчик id? - например, сначала заполнил таблицу с помощью фабрики, потом хотел добавить перед именем слова для обозначения: Cinema, Movie ('name'=>'Cinema '.$this->faker->name). Очистить таблицу и заново запускаешь уже начинается не с 1. Заранее спасибо.
@Sunsonar
@Sunsonar 3 жыл бұрын
Влад, там возникает проблема в обратной связи Movies->Cinemas т.к. мы наполняли через фабрику рандомно cinema_movie.cinema_id ., не у всех фильмов есть кинотеатр, и выводит фильм без кинотеатра поэтому как сделать проверку чтобы выводить фильм который толко идет в показе, получается Movie name: NUMQUAM Cinemas: кинотеатра нет
@VladislavGroniuk
@VladislavGroniuk 3 жыл бұрын
whereHas
@Sunsonar
@Sunsonar 3 жыл бұрын
Если у кого то возникнет такая же проблема, я использовал такой метод: $movies = App\Models\Movie::has('cinemas')->get(); // Получить все фильмы, которые демонстрируются хотя бы 1 кинотеатре
@vlaDick--
@vlaDick-- 3 жыл бұрын
а как связать pivot таблицу с ресурс контроллером?
@monoteis
@monoteis 2 жыл бұрын
Почему это может не работать? Перелапатил все способы, в том числе и как на этом видео
@alexandriv2174
@alexandriv2174 2 жыл бұрын
вобщем как и другие видосы тема нихера не раскрыта и много фуфни озвучено -- это стало бы понятно если б аффтор не сопли жевал а показал как добавлять и редактировать записи в подобных отношениях
#4 Связь Has One Through и Has Many Through LARAVEL
6:22
Vladislav Groniuk
Рет қаралды 2,5 М.
Отношение belongsToMany. Гайд по отношениям в Laravel
30:37
Просто о Laravel. CutCode
Рет қаралды 3,2 М.
Get 10 Mega Boxes OR 60 Starr Drops!!
01:39
Brawl Stars
Рет қаралды 16 МЛН
WHO CAN RUN FASTER?
00:23
Zhong
Рет қаралды 42 МЛН
لااا! هذه البرتقالة مزعجة جدًا #قصير
00:15
One More Arabic
Рет қаралды 51 МЛН
#1 Связь один к одному LARAVEL (One-to-One)
17:47
Vladislav Groniuk
Рет қаралды 10 М.
#2 Связь один ко многим LARAVEL (One-to-Many)
16:48
Vladislav Groniuk
Рет қаралды 9 М.
Laravel 10 Fundamental [Part 109] - Eloquent Relationship - Many to Many
27:31