最近为一个API项目选择了Laravel并完成了所有工作,并且Ive一直在将从php函数编写的API与连接的SQL字符串迁移到Laravel查询生成器中,除了一部分之外,一切都很好。
我有一个库存表和一个要素表,所以我在库存模型上定义了一个hasMany
与要素的关系,当我将要素的字符串数组传递给查询时,我需要遍历每个功能,然后取回具有这些功能的所有库存物品。
使用whereIn
并不是我所需要的,因为那样会使我的库存只有一种功能。如果我使用标准的where
,那么一旦添加了多个功能,就会给我0个结果。
我已经用下面的代码实现了我想要的,但是它执行起来非常慢,但是我不确定有更好的方法来获得相同的结果:
foreach($value as $v){
$builder->whereHas('features', function($query) use ($v) {
$query->where('code', $v);
);
}
答案 0 :(得分:1)
使用查询生成器而不是Eloquent来优化查询... 例如:
session_start();
$_SESSION['product_number'.$base64 ] = true;