首页 > 解决方案 > 我正在尝试从数据库中获取价格字段值。获取错误#message:“尝试获取非对象的属性”

问题描述

这是我的控制器

public function productsCategorywise(Request $request,$catslug)
    {
        try{
            $category_id = $request->catslug;
            $subCategories = SubCategory::with('childrenCategories')->where('parent','=', '2')->get();

            $subproducts = ProductsMeta::where('meta_value',$category_id)
                ->where('meta_key','term_taxonomy_id')
               ->get();

            $array_data = [];
            foreach ($subproducts as $key => $value) {
                $post_id = $value->post_id;
                $getProducts = Products::with('productMeta')->where('id',$post_id)->first();
                array_push($array_data, $getProducts);
            }
            if(isset($array_data) && !empty($array_data)){
                return view('backEnd.products',compact('array_data','subCategories','getProducts'));
            }
        }catch(\Exception $e){
            return $e;
     }

//this is my view page
                            
                                                <div class="product_price">
                                                     @foreach($value->productMeta as $m)
                                                          @if($m['meta_key'] == 'regular_price')
                                                              <?php
                                                              $metaVal = $m['meta_value']; ?>
                                                              <?php
                                                              $metavalueArray = explode(',',$metaVal);
                                                              ?>
                                                              @foreach($metavalueArray as $key => $v)
                                                                  <span class="price" {{$v}}></span>
                                                              @endforeach
                                                          @endif
                                                    @endforeach

                                                    <del>(display regular price)</del>
                                                    <div class="on_sale">
                                                        <span>35% Off</span>
                                                    </div>
                                                </div>
                                               

有两个表 product 和 productmeta 我需要从 productmeta 表中获取 meta_key 和 meta_value 以显示存储多个值的 regular_price 的 meta_value $value 无法获取 regular_price 的数组值提前谢谢。

标签: phpmysqlarrayslaravel

解决方案


这很可能是因为您试图访问$m['meta_key']when $mis null
尝试{{ dd($m) }}在“foreach”下使用它会输出您期望的值吗?


推荐阅读