Удалить обязательный атрибут из контроллера поиска - Свойство необъекта - PullRequest
0 голосов
/ 23 января 2020

Я только начал изучать основы, но у меня есть веб-сайт. Установленная тема сделана заранее, поэтому в ней есть весь необходимый код. Итак, вот моя проблема. У меня есть поисковая форма на моем сайте, которая состоит из 4 шагов / выборов. выберите местоположение, выберите категорию, выберите характер элемента (потерян или найден), введите ключевые слова и нажмите Enter. Только один из них (Выбрать категорию) помечен как «обязательный» в файле front.blade. php

<select id="category_id" class="select2" name="category_id" required >

Я также хочу удалить обязательный атрибут из этого выбора. Поэтому, если я просто удаляю «обязательное» слово, оно выдает ошибку в «SearchController. php»

Попытка получить свойство 'category' необъекта

$CategoryData = Category::find($category_id); 
        $Category =  $CategoryData->category;
        switch ($Category) {
            case "Books":
                $category  = 'books';
                break;
            case "Currency":
                $category  = 'currencies';
                break;
            case "Electronic devices / Home appliances":
                $category  = 'electronics';
                break;}

В нем около 15 категорий, но я упомянул лишь несколько. В основном это выделяет эту строку

$Category =  $CategoryData->category;

Я пытаюсь удалить эти категории, но ошибка продолжается на другой строке и так далее. Когда я удалил все строки кодирования с ошибкой в ​​«SearchController. php», он выдал ошибку другого файла контроллера.

Какой самый короткий и простой способ удалить требуемый атрибут из моей формы для выбора категории ? Если я сейчас удалю его, что мне нужно сделать, чтобы включить это снова? Но первым делом нужно удалить обязательный атрибут. Я не хочу удалять категории, поэтому, если пользователь хочет выбрать какую-либо категорию, он должен иметь возможность выбрать ее.

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Это означает, что один из запросов возвращает null или искомый результат возвращает null, поэтому вы проверяете состояние переменных, используя dd($CategoryData); в вашем контроллере.

0 голосов
/ 23 января 2020

Вы должны проверить, равна ли ваша переменная $CategoryData нулю, и досрочно вернуть, если это так. Возникающая ошибка говорит о том, что $CategoryData не является объектом.

Что вы можете сделать:

$CategoryData = Category::find($category_id);

if (!$CategoryData) {
   return;
}

$Category =  $CategoryData->category;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...