【问题标题】:Eav model , Foreach LoopsEav模型,Foreach循环
【发布时间】:2015-04-14 01:38:47
【问题描述】:

我正在创建一个汽车销售网站。我有一个car_properties 表来存储我的汽车属性,例如 ABS、气候、导航、警报等。

我将 EAV 模型用于汽车属性表,所以我的表如下所示:

id , name , value 

并保留如下数据:

name : ABS ,     value : 1 
name : climate , value : 1

show-single-car 视图中,我正在显示它们。问题是我使用了很多 foreach 循环。在同一个show-single-car 视图页面上,我有多个区域来显示这些属性。其中一些在页面的右侧,一些在底部。

这样用是真的吗,还是不用foreach也能取到?使用大量foreach 循环时我感觉不太好。

我的方法:

public function showcar($id)
{
    $car = CarSale::findOrFail($id);
    return view('frontend.product')->with('car' , $car);
}

我的看法:

 @foreach( $car->carproperty as $property)                  
    {{ $property->name }} - {{ $property->value }}                                 
  @endforeach

【问题讨论】:

  • 我们能看到你的 show-single-car view 标记和渲染它的控制器代码吗?
  • 你好,我将它们添加到问题中
  • 我认为,既然您没有循环访问数据库访问部分,那么您拥有的循环绝对没问题,应该没有问题。
  • 我投票结束这个问题,因为它属于 CodeReview。
  • @Cᴏʀʏ - 投票关闭一个问题,因为它在这里是题外话,而不是因为你认为它可能在其他地方是题外话。此外,在这种情况下,这个问题在 Stack Overflow 上并不是特别偏离主题,更糟糕的是,简短的示例代码在 Code Review 上并不是主题。

标签: php laravel foreach architecture entity-attribute-value


【解决方案1】:

由于您没有循环访问其中的数据库访问部分,因此您拥有的循环只不过是用于呈现 UI 的构造,IMO 非常安全,并且在性能或维护方面应该不会出现问题。

正在渲染的模型在内存中的存在非常短暂,以便框架访问和渲染它们的数据。

【讨论】:

    猜你喜欢
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 2012-07-19
    相关资源
    最近更新 更多