如何在 foreach 循环内的 laravel 刀片文件中运行不同的 SELECT 查询?

Posted

技术标签:

【中文标题】如何在 foreach 循环内的 laravel 刀片文件中运行不同的 SELECT 查询?【英文标题】:how to run distinct SELECT query inside laravel blade file inside of a foreach loop? 【发布时间】:2018-03-21 17:27:51 【问题描述】:

我有两张桌子

women-dress

women-dress_attributes

women-dresspricecolorwomen-dress_attributesdisplay_nameattribute_namefilter

filter 是一个简单的 Y 或 N 值women-dress_attributes 中的一行看起来像

Price  price  Y  

由于价格的过滤值为 Y,我需要从 women-dress 加载不同的 price 值 我的控制器的一部分看起来像这样

 $Filter_query = DB::table($attribute_table_name)
                ->select('display_name','attribute')
                ->where('filter', '=', 'Y')
                ->get();

在我的刀片文件中,我有

@foreach($Filter_query as $agm)
        <h4> $agm->display_name </h4>

@endforeach

现在我如何运行另一个 sql select distinct 查询来加载刀片文件中的相应值?

或者有没有更好的做法?

【问题讨论】:

试试看laravel.com/docs/5.5/queries#joins 这样的东西对你有用 $Filter_query = DB::table('women-dress') ->join('women-dress_attributes','women-dress_attributes.women-dress_id',' =','women-dress.id') ->distinct('women-dress.price') ->where('women-dress_attributes.filter', '=', 'Y') ->get(); 【参考方案1】:

在 laravel 中执行此操作的正确方法是为 2 个表中的每一个创建一个模型,并在它们之间创建一个关系函数(即dress())。

然后你就可以在你的刀片中调用这个$agm-&gt;dress()-&gt;price 来获取价格。

阅读this 创建模型

还有this 用于创建模型之间的关系

【讨论】:

以上是关于如何在 foreach 循环内的 laravel 刀片文件中运行不同的 SELECT 查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 中解码 Json 对象并在 laravel 中应用 foreach 循环

如何在刀片模板的 foreach 循环中访问 laravel 集合?

如何在 Laravel 的 PHP/Blade 中使用 Foreach 循环?

我们如何在 laravel php 刀片模板中为 foreach 循环定义循环变量

如何在laravel中的foreach循环中传递多个变量

如何检查属性的foreach循环。 Laravel