【问题标题】:how to solve Trying to get property 'sub_cat_name' of non-object如何解决尝试获取非对象的属性“sub_cat_name”
【发布时间】:2020-08-23 15:38:34
【问题描述】:

通过使用视图作曲家传递变量,我得到了这样的错误:

“试图获取非对象的属性 'sub_cat_name'(查看:D:\xampp\htdocs\E-commerce\resources\views\layouts\includes\top.blade.php)”。请解决问题,代码如下:

AppServiceProvider:

View::composer(['layouts.includes.top'], function ($view) {
    $view->with('subcat', SubCategory::get());
});

控制器:

public function prdtview()
{

    $categories = Category::get();
    $data=DB::select('select category.cat_name,product_images.prdt_image,product.prdt_name,product.actual_price from product INNER JOIN category on product.catid = category.id INNER JOIN product_images on product.id = product_images.prdt_id where product.sub_cat_id = 3 ');

        return view("frontend.product",[
        'data' => $data,
        'category' =>$categories
    ]);
}

刀片文件:

 <div class="nav-item">
        <div class="container">
            <nav class="nav-menu mobile-menu">
                <ul>
                    <li class="active"><a href="">Home</a></li>
                    @foreach($category as $category)
                        <li><a href="#">{{$category->cat_name}}</a>
                        <ul class="dropdown">
                            @foreach($subcat as $subcat)
                            <li><a href="#"><?php echo $subcat->sub_cat_name; ?></a></li>
                            @endforeach
                        </ul>
                    </li>
                    @endforeach                        
                </ul>
            </nav>
            <div id="mobile-menu-wrap"></div>
        </div>
    </div>

【问题讨论】:

  • 发布您的类别模型定义
  • 最好保持要迭代的实体与其每个组件不同,您可以使用复数,例如 foreach($categories as $category)
  • 类类别扩展模型{使用SoftDeletes;受保护的 $table = '类别';受保护的 $primaryKey = 'id';公共 $timestamps = true;受保护的 $dates = ['deleted_at']; }
  • 在你的控制器中显示 dd($categories->toArray());
  • @bhucho 同样的错误..

标签: php laravel


【解决方案1】:

改变它:

@foreach($subcat as $subcat)
      <li><a href="#"><?php echo $subcat->sub_cat_name; ?></a></li>
@endforeach

类似于:

 @foreach($subcat as $sub_cat)
     <li><a href="#"><?php echo $sub_cat->sub_cat_name; ?></a></li>
 @endforeach

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-22
    • 2020-02-23
    • 2019-03-11
    • 2020-03-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    相关资源
    最近更新 更多