Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 6/7/8/9/10 » undefined offset line 1290, динамические роуты » 23.10.2020 15:19:42

Вопрос такой например указываю такой адрес male2/obov2/ он ее все равно выводит но уже без товаров как мне редиректнуть на 404 страницу? Для это надо код в Middleware писать? Создавать под него отдельную группу и там уже фильтровать?

#2 Re: Laravel 6/7/8/9/10 » undefined offset line 1290, динамические роуты » 23.10.2020 14:38:43

Точно! Благодарю! Буду тогда сверять значение уже в самом контроллере, всех благ!

#3 Re: Laravel 6/7/8/9/10 » undefined offset line 1290, динамические роуты » 22.10.2020 16:40:52

Использую, Route::get('male/{brand_url}'  вот же))
До него это работает с get('male/{category_url}'
но вот когда повторяешь вложенность он ругается на undefined offset 0 в форыче
а вот так уже работает male/brands/{brand_url}

Прошу показать ошибку, заранее благодарю!

#4 Re: Laravel 6/7/8/9/10 » undefined offset line 1290, динамические роуты » 21.10.2020 20:08:03

Получилось в цикле провести только с таким роутом почему то male/brands/adidas male/adidas бьет ошибку получается он в цикле этим роутом и не прописывает индивидуально под каждый адрес можно получается любые значения проставить и будет выводиться шаблон(((

#5 Laravel 6/7/8/9/10 » undefined offset line 1290, динамические роуты » 21.10.2020 18:41:27

bogdan_titomir
Ответов: 6

Добрый день проблема следующая:
Пытаюсь циклировать роуты и выбивает ошибку
vendor/laravel/framework/src/Illuminate/Support/Collection.php:1290

Получаю из базы данные:

$categories = Category::all()->toArray();
$brands = Brand::all()->toArray();

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


Цикл категорий он работает

foreach ($categories as $category) {
    $cat_url = $category['url'];
    Route::get('male/{cat_url}', ['uses' => 'CatalogController@index']);
    $products = Product::where('eshopcatid', $category['id'])->get();
    foreach ($products as $product) {
        $product_url = $product['linkname'];
        Route::get('products/{cat_url}/{product_url}', ['uses' => 'ProductController@index']);
    }
}

Цикл брендов:

foreach ($brands as $brand) {
    $brand_url = $brand['url'];
    Route::get('male/{brand_url}', ['uses' => 'CatalogBrandController@index']);
}

Код одинаковый но верхний с категориями работает в чем может быть проблема? Заранее благодарю!

Подвал раздела