【问题标题】:Showing all subcategories when click on main category in Laravel单击 Laravel 中的主类别时显示所有子类别
【发布时间】:2016-07-25 08:13:54
【问题描述】:

我正在尝试在单击主类别名称时加载新页面并显示所有子类别(如果有的话)的功能。

到目前为止,我的路线中有这个

Route::get('/subcatView/{categoryId}', ['uses' => 'CategorySingleProducts@showSubCats']);

这是我的索引视图中的按钮,我单击以加载子猫

<a href="{{ URL::to( '/subcatView/' .  $category_menu->category_id) }}">{{ $category_menu['category_name'] }}></a>

这是来自我的控制器

public function showSubCats($categoryId) {

      $subcats = SubCategories::where('category_id', '=', $categoryId)->first();
      return View::make('site.subcategory', [            
          'subcats' => $subcats
      ]); 
} 

和子类别刀片

@foreach($subcats as $i => $subcategory)   

     <div class="col-md-4">
          <div class="panel panel-default text-center">                              
               <div class="panel-heading">{{ $subcategory['sub_cat_name'] }}</div> 
                   <div class="panel-body min-h-230">
                           <img src="{{ $subcategory['sub_cat_image'] }}" alt="{{ $subcategory['sub_cat_name'] }}" />
                   </div>
                   <div class="panel-footer">
                       <div class="row">                                    
                          <div class="col-sm-6 text-right">
                    <a href="{{ URL::to( '/single/products/' .  $subcategory['sub_cat_id']) }} " class="btn btn-info view-more">View More</a>
                           </div>
                        </div>
                   </div>
                </div>
          </div>
@endforeach

在 sub_category 表中,我的列 category_id 等于主类别 ID。

当我现在打开页面时,我没有得到任何子类别的信息。没有sub_cat_namesub_cat_image...什么都没有。只是空的html样式

【问题讨论】:

  • 为什么不在showSubCats返回视图之前dd($subcats)

标签: php laravel-4


【解决方案1】:

您在控制器中的 subcats 查询应该请求 get(一个数组)而不是 first(单个对象)。

$subcats = SubCategories::where('category_id', '=', $categoryId)->get();

【讨论】:

  • 谢谢,但我有错误:BadMethodCallException' with message 'Call to undefined method Illuminate\Database\Query\Builder::all()
  • get(); 一起工作.. 谢谢$subcats = SubCategories::where('category_id', '=', $categoryId)-&gt;get();
  • 对不起,我的意思是get
  • 但我真的认为你应该考虑在这种情况下使用关系:laravel.com/docs/5.2/eloquent-relationships
  • 很快就会用到它们。我还在学习 Laravel 的基础知识,而且还有些复杂。再次感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-12
相关资源
最近更新 更多