猿问

从搜索控制器中删除所需的属性 - 非对象的属性

我刚刚开始学习基础知识,但我有一个网站。安装的主题是预先制作的,因此它具有所有必需的代码。所以这是我的问题,我的网站上有一个搜索表单,其中包含 4 个步骤/选择。选择位置,选择类别,选择项目性质(丢失或找到),输入关键字并按 Enter。只有其中一个(选择类别)在 front.blade.php 中标记为“必需”


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

我也想从此选择中删除所需的属性。因此,如果我只是删除“必需”一词,则会在“SearchController.php”中给出错误


试图获取非对象的属性“类别”


$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”中给出错误的编码行时,它给出了另一个控制器文件的错误。


从我的表单中删除所需属性以选择类别的最短和最简单的方法是什么?如果我现在删除它,我需要做什么才能再次启用它?但首先是删除所需的属性。我不想删除类别,所以如果用户想选择任何类别,他应该能够选择它。


哆啦的时光机
浏览 94回答 2
2回答

慕妹3242003

您应该检查您的$CategoryData变量是否为空,如果是则提前返回。发生的错误表明这$CategoryData不是一个对象。你可以做的是:$CategoryData = Category::find($category_id);if (!$CategoryData) {&nbsp; &nbsp;return;}$Category =&nbsp; $CategoryData->category;

SMILET

这意味着其中一个查询正在返回null或您正在寻找的结果正在返回,因此您可以检查控制器中null使用的变量的状态。dd($CategoryData);
随时随地看视频慕课网APP
我要回答