【发布时间】:2016-12-14 03:39:09
【问题描述】:
表中有许多匹配的凭据被插入到 foreach 循环中,但是我仅从第一个 foreach 元素中获取结果。我该如何解决?
foreach($matches as $match)
{
$object = $match->object;
$sales->whereRaw("match (`object`) against (?)", array($object));
if($match->colourBase == '1')
{
$sales->where('colour', '=', 'CC');
$sales->orWhere('colour', '=', 'CC+DD');
if($match->maxPrice)
{
$sales->where('price', '<=', $match->maxPrice);
}
if($match->minPrice)
{
$sales->where('price', '>=', $match->minPrice);
}
}
}
$results = $sales->orderBy('sales.updated_at', 'asc')->get();
@update
这就是我获得 $matches 的方式
$matches = Match::where('PeopleID', '=', $id)->get();
【问题讨论】:
-
你为什么用 match->colour == 1
-
@coder 抱歉,我在获取代码时犯了一个错误。现在更正了。
-
用 $matches 数组更新你的问题
-
@DsRaj 是正确的,您获取 $matches 数组所做的工作更重要,因为除非它出错,否则您最有可能得到错误。
-
@MarkDavidson 你能看看吗
标签: php laravel laravel-4 foreach