Laravel: интернет магазин ч.6: Многие-ко-многим, Сессия

  Рет қаралды 17,938

rdavydov

rdavydov

Күн бұрын

Пікірлер: 169
@far_from_under
@far_from_under 5 жыл бұрын
Роман спасибо что ты существуешь!! Хотел тебе лично сказать, но не нашел никаких ссылок, поиск в вк тоже не увенчался успехом. Выражаю огромную благодарность за твой колоссальный труд, таких как ты единицы. Контент просто на вес золота, очень интересный и ценный, все понятно и подробно объясняешь. Еще и на каждый коммент отвечаешь и каждому помогаешь с его ошибками. Очень редко встречаю таких людей. С огромным удовольствием смотрю твои уроки, и надеюсь что еще много чего покажешь интересного и не забросишь канал. Очень жалко что немногие люди подписаны на тебя. Желаю тебе всего всего, огромного здоровья, заряд вечной энергии и любовь на всю жизнь. Сердечное спасибо
@rdavydov
@rdavydov 5 жыл бұрын
Спасибо ) буду дальше стараться )
@sergeyromanov1920
@sergeyromanov1920 3 жыл бұрын
Впервые познакомился с технологией связей, понятно стало что это такое и как это можно использовать, хотя и не нуб в программировании. В ларавел я смотрю много чего нового можно познать. Лайк поставил. Улыбнуло конечно добавление в корзину :), - вместо ++кол-ва, еще один такой же товар добавляется, ну для ознакомления вообщем то нормально.
@StasKantor
@StasKantor 3 жыл бұрын
Спасибо большое за уроки !!!
@Черезтернии-ю5ч
@Черезтернии-ю5ч Жыл бұрын
thank you!
@vladgromov9213
@vladgromov9213 5 жыл бұрын
У меня при " $order = Order::create()->id; " выпадала ошибка "Call to a member function products() on int", после того как поменял на " $order = Order::create(); " все заработало.
@rdavydov
@rdavydov 5 жыл бұрын
Да, там имеется ошибка. Позже я её поправил
@nicksimmons4722
@nicksimmons4722 4 жыл бұрын
@@rdavydov с утра ковыряю думал у меня руки кривые))) чет сразу не догадался комент прочесть))
@Sky_heaven_
@Sky_heaven_ 4 жыл бұрын
@@rdavydov В каком видео вы её исправили?)
@rdavydov
@rdavydov 4 жыл бұрын
@@Sky_heaven_ в одном из следующих 2-3х. Думаете я точно помню?)
@Sky_heaven_
@Sky_heaven_ 4 жыл бұрын
@@rdavydov у меня возник другой вопрос, а если у меня таблица называется не order_product, а order_products, как мне с таким названием таблицы реализовать?
@voicepoints832
@voicepoints832 4 жыл бұрын
Роман, когда вы писали session($orderId) для полуении data сесии с кейом orderId, как он был сохранен в данных сеанса, что мы могли получить (9:02)
@voicepoints832
@voicepoints832 4 жыл бұрын
Я понял все, спосибо для мотивации
@onetwo_official_2023
@onetwo_official_2023 4 жыл бұрын
Блогодарю
@far_from_under
@far_from_under 5 жыл бұрын
Роман прощу прощения что обращаюсь. 3 раза пересмотрел и заного переделал все по 6 уроку, но после добавления ссылки к товару в корзине(16:26) и обновления страницы для проверки ссылки, у меня добавляется еще один последний товар который я добавил в корзину(Камера GoPro как в вашем примере). Полностью проверил все данные, повторял каждое ваше движение, но последний добавленный товар все равно дублируется и добавляется каждый раз при обновлении страницы. Может быть не корректно составил вопрос. Но буду рад если у вас будет время и поможете решить эту проблему. Пишу вам как последний шанс.
@rdavydov
@rdavydov 5 жыл бұрын
Не очень понятна проблема. Думаю стоит проверить что передается в запросе и что обрабатывается (вдруг например не закрыт и потому цепляется что-то ещё из другой части формы. dd($request->all()); должен пролить на то свет
@rdavydov
@rdavydov 5 жыл бұрын
А ещё проверить чего находится и пишется в сессию. Там в этом моменте у меня вроде была ошибка и я её правил позже
@far_from_under
@far_from_under 5 жыл бұрын
@@rdavydov Да Роман спасибо большое)) Действительно в следующем видео вы этот баг исправили)) Вдруг кому пригодится, таймкод 7 часть(видео) 3:20
@Alex-yr8gw
@Alex-yr8gw Жыл бұрын
Почему то у Вас работает такой порядок роутеров, а у меня нет. Нужно роуты типа /{categories} вниз ставить. Странно..
@МаксимИванов-ь2у7г
@МаксимИванов-ь2у7г Жыл бұрын
здравствуйте, после добавления BasketController и на момент написания данных функция как показано на видео: public function basket(){ return view('basket'); } public function basketPlace(){ return view('order'); } public function basketAdd($productId) { $orderId = session('orderId'); if(is_null($orderId)){ $orderId = Order::create()->id; session(['orderId'=>$orderId]); } dump($orderId); } при нажатии на кнопку добавить вылезает ошибка: Illuminate  \  Contracts  \  Container  \  BindingResolutionException PHP 8.1.9 9.48.0 Target class [BasketController] does not exist. (я создавал роуты и к нему контролеры все как показано на видео) Можете сказать пожалуйста если знаете, в чем ошибка?
@alexeydanilov1557
@alexeydanilov1557 5 жыл бұрын
Роман, подскажи, пож-та, на 3:54 - каким образом return belongsToMany(Product::class) считает данные из таблицы order-product?
@rdavydov
@rdavydov 5 жыл бұрын
Это метод Eloquent. Сама связь (метод) по названиям моделей знает что где лежит.
@alexeydanilov1557
@alexeydanilov1557 5 жыл бұрын
@@rdavydov то есть, она автоматически найдёт таблицу order-product и считает с неё данные?
@rdavydov
@rdavydov 5 жыл бұрын
Она смотрит на модели, и ищет автоматом таблицу состоящую из их имен через нижнее подчеркивание в алфавитном порядке. Если её имя отличается - это нужно указать вторым аргументом.
@alexeydanilov1557
@alexeydanilov1557 5 жыл бұрын
@@rdavydov Роман, спасибо!
@timurtimurov99
@timurtimurov99 4 жыл бұрын
Здравствуйте, спасибо большое за ваше дело😁 Такая проблема, добавляю товар, товар добавляется, но css и js не работают на странице /basket/add/{id}, из-за чего может быть?
@rdavydov
@rdavydov 4 жыл бұрын
Проверьте шаблон для корзины, подключен ли у вас в нем мастер шаблон
@timurtimurov99
@timurtimurov99 4 жыл бұрын
@@rdavydov подключен, вообщем я оставил так же, и следующий урок посмотрел, сделал, и сейчас остаётся в корзине и все норм. Спасибо большое😄
@vitaliy6546
@vitaliy6546 3 жыл бұрын
@@timurtimurov99 Привет Тимур, знаю что прошел год но все же. Столкнулся с такой же проблемой, когда добавляю в корзину, то стили не работают по маршруту /basket/add/{id}. А когда захожу в саму корзину /basket то все работает и товар добавился. Может вы помните как вы решили эту проблему?
@ВладимирТ-ч6ц
@ВладимирТ-ч6ц 5 жыл бұрын
1) Роут типа Route::get('/{category}' , 'MainController@category') - должен быть всегда нижним. 2) вопрос, зачем записывать добавления товара сразу в Таблицу, это нужно делать только после оформления заказа? 3) как работает Сессия в Контроллере без записи use Session?
@rdavydov
@rdavydov 5 жыл бұрын
Хранение в бд не оформленного заказа по двум причинам: это обучающий материал, записывать модель в сессию и с ним работать в данном случае было не удобно (слишком много надо сразу тем брать). К сессии можно достучаться через фасад (как раз тогда стоит указать сверху его через use Session), через хелпер session () и через запрос (опять же к запросу можно несколькими вариантами прийти - через объект типа Request, через хелпер request() и др)
@ВладимирТ-ч6ц
@ВладимирТ-ч6ц 5 жыл бұрын
Спасибо.
@wauxhalll
@wauxhalll 4 жыл бұрын
@@ВладимирТ-ч6ц это удобно и для отслеживания брошенных корзин, только нужно состояния заказа еще добавлять)
@gandonfandom7074
@gandonfandom7074 3 жыл бұрын
Здравствуйте выдает ошибку call to a member function attach() on null
@rdavydov
@rdavydov 3 жыл бұрын
Проверяйте, почему пустой объект. Смотрите логи
@gandonfandom7074
@gandonfandom7074 3 жыл бұрын
@@rdavydov решил, в моделе order не было прописано return
@rdavydov
@rdavydov 3 жыл бұрын
@@gandonfandom7074 отлично. Моя ошибка была или копировали с занятия код?
@gandonfandom7074
@gandonfandom7074 3 жыл бұрын
@@rdavydov копировал с занятия
@x1xWoTx1x
@x1xWoTx1x 4 жыл бұрын
Написал механику добавление товара в корзину через сессии. Прочел, что лучший вариант это хранить товары в сессии для не авторизованных пользователей, а для авторизованных в БД. И вот думаю, как правильно писать механику. Отдельный роут и функция в котроллере для БД и Сессии или все в одной, но через условие типа If(auth::user) хранить в БД else в Сессии? На стаковерфлоу спросил, там один посоветовал в разных функциях писать механику, и еще сказал, что лучше использовать роуты API, но я чет не очень понял, что за роуты, да и инфы в нете не много о них. Что думаете по этому поводу? Как лучше поступить? Заранее спасибо!
@rdavydov
@rdavydov 4 жыл бұрын
Я не помню номера видео, но у меня дальше реализована корзина в сессии без сохранения, пока это не заказ. Про апи роуты - это подходит, есть фронт вы делаете отдельно. Тогда на бэке есть смысл реализовывать rest
@LivenightQuantumisme
@LivenightQuantumisme 4 жыл бұрын
Здравствуйте. Такой вопрос у меня возник. Мы когда создаём таблицу связи, мы называем её двумя элементами под одной строкой, связывая их нижней чертой? Вы говорили что важен алфавитный порядок этих элементов. В Вашем случае сначала идёт order потом product. А если допустим нужно составить связь например с элементами order и book, название таблицы будет book_order?
@rdavydov
@rdavydov 4 жыл бұрын
Да, но вы можете совершенно другую таблицу привязать в аргументах к методу связи
@fedortregubov3873
@fedortregubov3873 4 жыл бұрын
Роман, почему не используешь foreign_key для связей mysql-таблиц? Выходит связи прописаны только в коде.
@rdavydov
@rdavydov 4 жыл бұрын
Для снятия видео не очень удобно: когда надо что-то удалить, приходится все по цепочке удалять, что не удобно. В целом можно использовать, прописываются в миграциях.
@x1xWoTx1x
@x1xWoTx1x 4 жыл бұрын
Как кто то ниже написал, сохранять выбранные товары в БД не совсем правильно. Есть ли у Вас видеоурок, где вы реализовали корзину на сессиях либо куках?
@rdavydov
@rdavydov 4 жыл бұрын
Смотрите дальше. Работа с объектом без сохранение и подобная реализация корзины сильно дальше 6го видео
@АланГасиев-ъ6ь
@АланГасиев-ъ6ь 4 жыл бұрын
Здравствуйте, Роман. Столкнулся с такой ошибкой: BadMethodCallException Method Illuminate\Database\Eloquent\Collection::products does not exist. Причина в этой строке $order->products()->attach($productId);
@rdavydov
@rdavydov 4 жыл бұрын
Проверьте модель заказа: есть ли там связь products
@АланГасиев-ъ6ь
@АланГасиев-ъ6ь 4 жыл бұрын
@@rdavydov Большое спасибо за своевременный ответ, все работает. Ваши уроки превосходны!)
@ДмитрийЗагородний-э9б
@ДмитрийЗагородний-э9б 4 жыл бұрын
Добрый день, когда нажимаю на кнопку "В корзину" вылазит ошибка compact(): Undefined variable: order. Что делать?
@rdavydov
@rdavydov 4 жыл бұрын
здравствуйте. Разобраться нужно, почему переменная пустая. Возможно было скопировано с моего кода один в один и у меня была там ошибка, на 7й видео исправил.
@ДмитрийЗагородний-э9б
@ДмитрийЗагородний-э9б 4 жыл бұрын
@@rdavydov спасибо большое
@mistergrey3256
@mistergrey3256 3 жыл бұрын
Здравствуйте,я не понял порядок записи роутов,почему одни затирают другие?Спасибо
@rdavydov
@rdavydov 3 жыл бұрын
Потому что регистрируются они в массиве
@Олександр-п3т3ж
@Олександр-п3т3ж 4 жыл бұрын
Очень сложно я уже голову сломал, первое Order::create()->id.. Также $order->products()->attach($productId); - по сути мы должны обращаться к таблице Products а не order_products..Пожалуйста объясните. Также я хотел узнать в чем смысл использывать в методе basket() findOrFail, если можно просто find.. Зарание спасибо за ответы
@rdavydov
@rdavydov 4 жыл бұрын
Order create создаёт запись. После возвращаем id записи как свойство. Работает здесь с моделью и связями а не стаблицей. Метод find возвращает пустую модель если ничего не найдено. FindOrFail ещё и кидает ошибку 404
@braindoge7654
@braindoge7654 4 жыл бұрын
Здравствуйте, у меня такой вопрос, можно ли как то сделать, что бы при нажатии "в корзину", на товаре не перенаправляло в корзину, а оставляло на той же странице, где я выбрал товар? Я попытался поменять в баскет котроллере, но у меня получилось так, что когда я в корзине добавляю тот же самый товар, т.е. нажимаю "+", меня перебрасывает на главную страницу И еще такой вопрос, как можно реализовать поиск товаров по сайту?
@rdavydov
@rdavydov 4 жыл бұрын
Здравствуйте. Нуно реализовывать запросы через ajax. Ответы нужно переделывать, чтобы они возвращали не вьюху, а информацию в json например. Что подразумеваете под поиском? Поиска как такового отдельно нет. Можно использовать поиск по базе - нужно указывать, по каким полям и т.д. В целом фильтры позже рассматривал.
@tonydarko2809
@tonydarko2809 4 жыл бұрын
Приветствую! Если переместить кнопку "в корзину" на страницу продукта, то $productId равняется коду продукта. соответственно ошибка SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'design-and-relax' for column 'product_id' at row 1 (SQL: insert into `order_product` (`order_id`, `product_id`) values (3, design-and-relax))
@rdavydov
@rdavydov 4 жыл бұрын
Привет. У тебя ошибка уже содержит текст SQL ошибки. Можно его взять и повторить напрямую в БД чтобы понять, чего не так. А целом она говорит о том, что значение которое ожидалось - числовое, оно не корректно для колонки product_id (а само значение relax and...)
@tonydarko2809
@tonydarko2809 4 жыл бұрын
​@@rdavydov в целом я понял в чем проблема. Я не сразу увидел, что кнопка "в корзину" на странице продукта, отличается по реализации от кнопки на главной. Из-за этого вместо id продукта передаётся код продукта. Жалко, что в уроках страница продукта делается гораздо позже, но всё равно уроки очень крутые! Почти 0 знаний в PhP, но всё понятно, и объясняете очень просто! (углублюсь позже в методы и связи) Спасибо большое! (делаю сейчас на 8-й версии laravel всё работает отлично, только синтаксис кое-где изменился.)
@edwardzombie9222
@edwardzombie9222 4 жыл бұрын
Народ, если делаете по этим урокам и не особенно разбираетесь в языке, то делайте именно так как говорит Роман. Я назвал ранее таблицу продуктов по-другому. Сегодня почти день потратил на изучение связей. Сделайте так как в уроке, а потом анализ.
@rdavydov
@rdavydov 4 жыл бұрын
Не могу сказать на 100%, но я вроде даже объяснял, что делать, если другое название
@edwardzombie9222
@edwardzombie9222 4 жыл бұрын
@@rdavydov у меня просто ситуация такая. Переношу интернет магазин на ларавель, в котором не в зуб ногой) Есть некий шаблон. Там другая корзина. Я ее оставил на потом. В процессе таблицу продуктов назвал другим именем. Потом вернулся к вашим урокам, к корзине. И все. У меня не получились связи с первого раза. И вот пока понял как это работает(связи). Даже колонка product_id стала по-другому называться) Спасибо за уроки! Очень помогает! Всем друзьям кто начинает осваивать ларавель советую.
@denzeroneYT
@denzeroneYT 2 жыл бұрын
@@edwardzombie9222 Согласен, но тут надо что-то решать. У меня базы по php нет, и похоже придется к ней вернуться. Ведь многое уже начал не понимать. У меня ошибок не каких, многое приходится повторять как у видео, так как не понимаю некоторые моменты.
@edwardzombie9222
@edwardzombie9222 2 жыл бұрын
@@denzeroneYT привет! Я забросил Ларавель. Перешёл на Джанго. Для моих задач Джанго больше подхопит
@denzeroneYT
@denzeroneYT 2 жыл бұрын
@@edwardzombie9222 Привет, не думал что спустя 2 года ответите :D Как успехи?
@metriot6744
@metriot6744 4 жыл бұрын
Роман объясните пожалуйста почему у меня данная строка работает только символами вопроса и двойными кавычками $product->category->code ?? ''. Версия Laravel такая же как у вас.
@rdavydov
@rdavydov 4 жыл бұрын
проверьте базу - видимо данных у вас в ней нет
@metriot6744
@metriot6744 4 жыл бұрын
rdavydov Спасибо за ответ те эти символы своеобразная заглушка?
@rdavydov
@rdavydov 4 жыл бұрын
Знаки вопроса это синтаксис php, позволяющий указать дефолтгое значение, если проверяемая переменная пустая (null)
@metriot6744
@metriot6744 4 жыл бұрын
@@rdavydov Спасибо за ответы. У вас хорошая подача материала бывает не понятно с первого раза, но пересмотрев несколько раз все получается))
@rdavydov
@rdavydov 4 жыл бұрын
@@metriot6744 это больше мастер класс, чем прям уроки. Что-то типа смотри чего я делаю и можешь разобраться тот взять мои идеи/решения, а можешь найти свои. Ну или кто-то может под пиво с чипсами смотрит по выходным, не знаю ) спасибо )
@simplex5966
@simplex5966 3 жыл бұрын
Роман, помогите пожалуйста, у меня в session.php все по дефолту, но все равно почему то после перезагрузки страницы, создаётся новый заказ.
@rdavydov
@rdavydov 3 жыл бұрын
Дебажте код, что происходит по ходу выполнения в переменных. Есть ли сессия, находится ли она в бд.
@simplex5966
@simplex5966 3 жыл бұрын
@@rdavydov у меня почему то в ключ сессии не кладётся id нового заказа
@rdavydov
@rdavydov 3 жыл бұрын
@@simplex5966 система windows? По идее может быть проблема с правами на storage
@simplex5966
@simplex5966 3 жыл бұрын
@@rdavydov Да,у меня windows..А что за проблема с правами?Как её решить?
@simplex5966
@simplex5966 3 жыл бұрын
@@rdavydov Просто у меня уже сделан один проект по вашему примеру,он работает, но вот я щас решил другое сделать, и делаю абсолютно тоже самое. Не знаю,просто я еще использую vue js, может из за этого?Может js как то ломает все :))) ??
@ВадимДоронин-и4р
@ВадимДоронин-и4р 4 жыл бұрын
думал будет нормальный курс, а по факту автор просто повторяет то, что мы видим на экране и все)
@rdavydov
@rdavydov 4 жыл бұрын
Это называется объяснениями. И это не курс, а больше мастер класс.
@rdavydov
@rdavydov 4 жыл бұрын
Если нужен курс - есть другой плейлист. Там как раз именно курс с нуля
@ylhamchakanov6885
@ylhamchakanov6885 3 жыл бұрын
эту видео просто невозможно потянут. просто невозможно.
@gaypower
@gaypower 3 жыл бұрын
на этом "мастер классе" все видео такие, объяснения около: "оно вот так потому что вот так". Здесь 5% времени занимает просмотр ролика и 95 чтение документации и инета. Человек потратил время и не требует с нас денег, энивей большое спасибо автору
@igor_8ashuk
@igor_8ashuk 5 жыл бұрын
У кого проблема с постоянным увеличением количества заказов при обновлении страницы 9.39 . В .env файле измените параметр SESSION_DRIVER=file
@rdavydov
@rdavydov 5 жыл бұрын
Интересно, а что у вас там что-то другое стояло?) github.com/warlight/internet-shop-course-youtube/blob/master/config/session.php здесь можно увидеть, что по-умолчанию тоже самое стоит. У вас что-то другое? Или стояло в .env?
@igor_8ashuk
@igor_8ashuk 5 жыл бұрын
У меня были cookie , по этому сессия обновлялась
@rdavydov
@rdavydov 5 жыл бұрын
А откуда? Не меняли вручную? И проект изначально чистый был?
@igor_8ashuk
@igor_8ashuk 5 жыл бұрын
Проект изначально был чист, думаю они по умолчанию подставились
@ВладКристал-ю9в
@ВладКристал-ю9в 4 жыл бұрын
у меня параметр правильный стоит но заказы все равно увеличиваются. С чем может быть связано?
@erlankarabaliyev7330
@erlankarabaliyev7330 4 жыл бұрын
Добрый день! У меня выходит ошибка Call to a member function products() on null public function basketAdd($productId){ $orderId = session('orderId'); if (is_null($orderId)){ $order = Order::create()->id; session(['orderId' => $order->id]); }else{ $order = Order::find($orderId); } $order->products()->attach($productId); }
@rdavydov
@rdavydov 4 жыл бұрын
ищите почему объект пустой. возможно это та ошибка, про которую вы можете найти здесь в комментариях и которую я позже поправил.
@Sky_heaven_
@Sky_heaven_ 4 жыл бұрын
Добрый день. У меня та же ошибка. не подскажите, как исправили, если исправили, пожалуйста.
@Sky_heaven_
@Sky_heaven_ 4 жыл бұрын
@@rdavydov Добрый день. не могу найти, где вы эту ошибку исправили?
@anatoliiilescu839
@anatoliiilescu839 4 жыл бұрын
@@rdavydov Роман помоги плиз , не могу найти как исправить данную ошибку!!! Call to a member function products() on null
@igusevs
@igusevs 3 жыл бұрын
спрашиваю спустя 10 месяцев.. узнали как решить эту ошибку?
@ziyadidit
@ziyadidit 5 жыл бұрын
Что-то я помучался на этом уроке.. проблема возникает именно в моменте создания заказа. Он у меня не создаётся, т.е. не попадает в бд. как будто не срабатывает ф-ция Order::create()->id; т.е. не добавляется в карзину. получаю null котгда делаю dd($order)
@rdavydov
@rdavydov 5 жыл бұрын
А если взять под из примера из Гита? И чему-то вы присваиваете полученный заказ или его ид ?
@ziyadidit
@ziyadidit 5 жыл бұрын
единственное в чём я ошибся следуя уроку, это я не сделав php artisan migrate для таблицы order_product, я создал ордер и он создался. Потом обнаружил ошибку очистил таблицу ордерс(через phpmyadmin) и сделал мигрэйт. Перепроверил несколько раз, но никак не получилось выявить ошибку, если что-то явное чего я не замечаю подскажи, пожалуйста, ошибку. ссылка скрин на мой код создания (добавления) продукта в баскет
@rdavydov
@rdavydov 5 жыл бұрын
@@ziyadidit логи в storage/logs тоже не содержат ничего интересного?
@ziyadidit
@ziyadidit 5 жыл бұрын
@@rdavydov Я изначально начал сам делать всё чтобы понимать, гит ваш не клонировал себе. сам гит инит делал у себя на локалке. Если что откат сделаю всего до прошлого урока и заново попытаюсь сделать
@ziyadidit
@ziyadidit 5 жыл бұрын
​@@rdavydov , нашёл причину)) мы же в сессию записываем айди ордера. Вот я добавил он записался в сессию, потом я очистил в бд таблицу ордерс и получается айди в сессии есть, а в бд нет. соответственно он и не должен был создавать. Работал правильно, только мне надо было сессию очистить)
@far_from_under
@far_from_under 5 жыл бұрын
Роман добрый день. И снова я. После написания уроков 6 и 7. И ожидания в 1 ночь на утро появляются две ошибки: 1) При добавлении товара в корзину выходит ошибка /---/ ErrorException Trying to get property 'id' of non-object /---/ Ругается на Basketcontroller на 30 строчку: /---/ session(['orderId' => $order->id]); /---/ 2) При вход в корзину ошибка /---/ Facade\Ignition\Exceptions\ViewException Undefined variable: order (View: /home/mais-gauthier/Laravel_projects/magazine/resources/views/basket.blade.php) /---/ Ругается на basket.blade строчку 20: /---/ @foreach($order->products as $product) /---/ Я уже неделю пытаюсь понять что не так, прогуглил все что можно, вам об этих проблемах писали, пробовал понять то что вы говорили, чистил сессию. Безуспешно, так просто бы не написал просто уже не знаю как её решить. Как уже говорил если подряд уроки выполнять они не выходят, но если пройти 6 урок или 6 и 7, а потом даже включенный компьютер оставить на ночь, и продолжить, будут выходить такие ошибки. Буду очень рад если у вас будет время и поможете решить эти проблемы.
@rdavydov
@rdavydov 5 жыл бұрын
Сейчас времени вникнуть нет. Но эта ошибка была поправлена скорее всего дальше. Связанная с id заказа.
@rdavydov
@rdavydov 5 жыл бұрын
@Aleksandr Nikolaev да я ж её позже исправил) я брал заказ, его id, а потом пропустил, что ещё раз беру id от id.
@MrKgzguy
@MrKgzguy 5 жыл бұрын
посмотрите изменения в коммите к 7 уроку. Там автор исправил свою ошибку
@АлексейЗимовец-х3с
@АлексейЗимовец-х3с 3 жыл бұрын
@@Юрий-ж2р4е здравствуйте, исправили ошибку, если да то как ? Спасибо
@АлексейЗимовец-х3с
@АлексейЗимовец-х3с 3 жыл бұрын
@Aleksandr Nikolaev здравствуйте, исправили ошибку, если да то как ? Спасибо
@Shad0w5m00h
@Shad0w5m00h 4 жыл бұрын
хрен его знает почему, но карточка продукта у меня по ссылке "подробнее" не работает. dd в контроллере показывает тупо текст из базы. Запроса к базе нет короче. Ладно, черт с ним. Тогда буду биться дальше, может быть в следующих уроках разберусь что к чему. $product->name в product.blade.php соответственно не существует. Где же я накосячил? Если вдруг кто-то пойдет вновь по этим ступеням и увидит очевидные ошибки, то напишите плз в коментах, а то так с ума сойти можно
@rdavydov
@rdavydov 4 жыл бұрын
А там в принципе есть обращение к модели? В какой-то из страниц я забыл на начальных уроках реализовать вывод из базы
@УрокиБесплатно-ь4э
@УрокиБесплатно-ь4э 4 жыл бұрын
когда перезагрузаю страниц товар добаляеться еще один раз
@rdavydov
@rdavydov 4 жыл бұрын
Проверьте csrf токен, что вместе с пост запросом отправляется и проверяется (что маршрут не добавлен в исключение для миддлвейра csrf)
@AlAl-li3zn
@AlAl-li3zn 4 жыл бұрын
Не работало с этой строкой $order->products()->attach($productId); Правильно или нет, не знаю, но добавил сначало $order = $order->first(); Заработало
@rdavydov
@rdavydov 4 жыл бұрын
Очень странно. Нужно проверять, что в заказе было
@AlAl-li3zn
@AlAl-li3zn 4 жыл бұрын
@@rdavydov Illuminate\Database\Eloquent\Collection {#424 ▼ #items: array:1 [▼ 0 => App\Order {#425 ▼ #connection: "mysql" #table: "orders" #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] #perPage: 15 +exists: true +wasRecentlyCreated: false #attributes: array:6 [▼ "id" => 30 "status" => 0 "name" => null "phone" => null "created_at" => "2020-03-03 19:47:33" "updated_at" => "2020-03-03 19:47:33" ] #original: array:6 [▶] #changes: [] #casts: [] #dates: [] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: [] #guarded: array:1 [▶] } ] }
@AlAl-li3zn
@AlAl-li3zn 4 жыл бұрын
Переделал снова. $order = $order->first(); убрал. $order = Order::find($orderId); заменил на $order = session()->get('orderId');. В шаблоне $order->products()->get() as $product
@AlAl-li3zn
@AlAl-li3zn 4 жыл бұрын
Разобрался. Нашел ошибку. В session(['orderId' => $order->id]); вместо id положил объект session(['orderId' => $order]);. Ну ничего, зато разобрался ))
@denzeroneYT
@denzeroneYT 2 жыл бұрын
@@AlAl-li3zn странно, а у меня недавно работало, но сейчас пришёл, пришлось откатить таблицу и теперь снова не работает и даже таким способом как у тебя.
@АртёмИгорьевич-ы6п
@АртёмИгорьевич-ы6п 3 жыл бұрын
Когда вывожу цикл: @foreach($order->products as $product) … @endforeach Мне выдает ошибку: Undefined variable: orderId (View: D:\OSPanel\domains\slaravel esources\views\basket.blade.php) А когда пытаюсь разобраться в контроллере: public function basket() { $orderId = session('orderId'); dd($orderId); if (!is_null($orderId)){ $order = Order::findOrFail($orderId)->id; } return view('basket'); } dd($orderId); - показывает результат null. Где допустил ошибку?
@rdavydov
@rdavydov 3 жыл бұрын
Ну так если он пустой - чего найдет по null? Дальше дебажить
@АртёмИгорьевич-ы6п
@АртёмИгорьевич-ы6п 3 жыл бұрын
@@rdavydov и как быть? это делается по уроку
@rdavydov
@rdavydov 3 жыл бұрын
@@АртёмИгорьевич-ы6п дебажить
Laravel: интернет магазин ч.7: Pivot table
17:16
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
Полный курс Laravel 13 Сессия (Session)
25:24
Как тестировать Laravel?
1:02:47
Pavel Zloi aka EvilFreelancer
Рет қаралды 18 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 278 М.
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 286 М.
#3 Связь многие ко многим LARAVEL (Many-to-Many)
14:22
Все способы задания маршрутов в Laravel | Laravel Routes | Маршруты Laravel
49:55
Lectoria. Обучение веб-разработке.
Рет қаралды 8 М.