dongtun1872 2017-09-26 11:22
浏览 50
已采纳

Laravel:忽略刀片模板中的对象

I have a question concerning best practise with Laravel. I have a blade page who display all my products and I test if my product has image in my loop, I ignore it if it's the case :

       @foreach ($products as $product)
            @if(is_null($product->getMedia()->first())) 
                @continue
            @endif 
            <div class="col-md-4">
                 //display image and product informations
            </div>
        @endforeach

My question is : Is this correct ?

Or souhld I ignore the product who has no image in my controller ?

Thanks !

  • 写回答

2条回答 默认 最新

  • dounieyan2036 2017-09-26 11:43
    关注

    It depends whether you consider products without any images to be "invalid" / "inactive", or if you just don't want to show them in this particular view.

    Your controller is defining a business requirement like "fetch all products which match certain conditions". If "has an image" is part of that business requirement, because any product without an image should not be on sale, then the logic goes in your controller.

    Your view is defining a particular presentation like "arrange the products in a pretty grid". If "has an image" is just a requirement to work in this layout, skipping here could be reasonable.

    However, completely skipping products in the view may have some undesirable consequences:

    • If these products should be on sale, as implied by the controller returning them, hiding them means customers can't see them.
    • If you have pagination, or a total number of results found, it won't match the number of products the user can actually see unless you take care to handle the skipped products.

    It's therefore most appropriate if you are building some kind of "highlights", where the skipped products will actually be shown in a list further down, just not as prominently.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan