Отношения hasOneThrough и hasManyThrough. Гайд по отношениям в Laravel

Поделиться
HTML-код
  • Опубликовано: 9 июл 2023
  • Продолжаем гайд по отношениям (Relationship) в Laravel и переходим к отношениям hasOneThrough и hasManyThrough. Они еще называются отношения "через", потому что для получения другой записи, используется промежуточная таблица.
    Полный гайд по отношениям в Laravel:
    • Гайд по отношениям в L...
    #отношения#laravel#cutcode
    ---------------------------------------------------------------------------------
    🚀📹👨‍🏫 Как насчет прокачки своих навыков с помощью наших обучающих видеокурсов по web-разработке? Переходи на мой сайт 👇
    learn.cutcode.dev/?
    ❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного - goo.su/dsGP7PI
    ---------------------------------------------------------------------------------
    Окей друзья двигаемся дальше к отношениям hasonetrough и hasmanytrough. И вы убедитесь насколько они простые после тех знаний что мы с вами уже получили. Давайте начнем с задачи. Скажем у нас у статей также есть и теги. Я уже накидал миграцию с таблицей Tags. Вот так она просто выглядит - заголовок тега и какой статье она привязана. Ну и соответственно такая же простая модель с belongsTo отношением и давайте немножко вспомним про наши статьи. Перейдем к модельке, мы также знаем что у статьи есть автор. Окей давайте перейдем в самый начальный уровень, к автору. И вот перед нами с вами стоит задача - есть пользователь, у него есть статьи, у статей есть теги. Нам с вами нужно получить находясь в пользователе сразу все теги по всем статьям которые у него есть. Скажем так перескочить через все записи в рамках таблички articles и тем самым получить все доступные ему теги. Все теги которые когда-либо упоминались в его статьях. Звучит сложно, согласитесь? Но в рамках отношений hasonetrough, hasmanytrough это достигается крайне просто. И давайте на это взглянем. Для начала по традиции давайте посмотрим на диаграмму таблички Tags. Вот так она выглядит, мы видим что есть User - автор статьи, соответственно сами статьи и теги. Их может быть у статьи сколько угодно. Давайте пробовать реализовать эти отношения!
    ---------------------------------------------------------------------------------
    📹 делитесь этим видео с друзьями:
    • Отношения hasOneThroug...
    🔔 подпишитесь на RUclips-канал: ruclips.net/user/CutCodeRu?s...
    📼 Курс по Laravel с нуля:
    • Курс по Laravel 8 обуч...
    Отношение hasOneThrough и hasManyThrough. Гайд по отношениям в Laravel
    ---------------------------------------------------------------------------------
    🔗 наш сайт: cutcode.dev/?
    📱 Наш telegram-канал: t.me/laravel_cutcode

Комментарии • 17

  • @SemyonF89
    @SemyonF89 27 дней назад

    Первый вариант с множеством параметров вполне читабелен и понятен. А сахар поверх сахара😅 - красиво, но не мое. Кодерам видимо было скучно) один «душнила»припомнил правило/конвенции хорошего тона описания параметров, и понеслось - код ради кода. Верните все взад»😂
    Спасибо за обзор! Вот такой ман - это эталон качества обучения. Я сам так и поступаю, всегда - последовательно, сравнивая и тп🎉

  • @user-nf1td4hh7y
    @user-nf1td4hh7y 5 месяцев назад

    супер, спасибо. интересно!

  • @ruslankandiba
    @ruslankandiba Год назад +1

    Круто. Легко.Доступно. Спасибо за видос

  • @mnogokotin
    @mnogokotin Год назад +1

    годный контент спасибо пили еще )

  • @XTishka1980
    @XTishka1980 Год назад +1

    Здорово! Спасибо!

  • @alexandersmidt9984
    @alexandersmidt9984 Год назад +1

    Спасибо з видосы, продолжай!

  • @ichi-nya
    @ichi-nya Год назад

    Про второй метод не знал, выглядит логичнее. А так как у меня были проблемы с составлением ид (я постоянно забываю, куда что), то второй метод ещё и проще для составления. Единственное, не хватает в видео, если используются связи многие-ко-многим, ведь теги могут быть не только к статьям - в итоге получается связка не через одну таблицу, а через две )

  • @ilnur17021992
    @ilnur17021992 Год назад

    Спасибо. Хотелось бы ещё увидеть обратное отношение belongs to.

    • @CutCodeRu
      @CutCodeRu  Год назад

      Уже есть в этом плейлисте, мы с него начинали

  • @SanyaHP3
    @SanyaHP3 Год назад

    Спасибо за видео! У меня сейчас задача стоит сделать связь между 3 таблицами. Вот не знаю как правильней будет сделать.

    • @CutCodeRu
      @CutCodeRu  11 месяцев назад

      заходите в наш чат в телеграм - там найдем решение! t.me/laravel_chat

  • @TsA1ex
    @TsA1ex Год назад +1

    Осталось много вопросов
    1. Если у пользователя много статей и у статей много тегов, которые повторяются то мы получим дубли тегов
    2. Какой смысл limit 1 ? Получить первый произвольный тег статьи? Причем результат может отличаться в зависимости от последовательности добавления тега к статье. Пример не из жизни выходит
    3. Если промежуточное отношение будет не hasMany, а hasOne? Тоже будет работать? А если belongsTo?
    4. Какое обратное отношение? Если по тегу нужно получить всех пользователей, статьи которых его имеют?

    • @daovel
      @daovel 10 месяцев назад

      Лимитом ограничивается статья а не тег

  • @aleksandser275
    @aleksandser275 Год назад

    Это уже с Laravel 10 видео

  • @user-kv8vh6fb4f
    @user-kv8vh6fb4f Год назад

    Самое главное не рассказано. Про остальные четыре параметра, которые названы так, что фиг поймешь куда что подставлять.