想知道是否有可能通过雄辩的方式更好地从数据库中获取数据?以下是我经常使用的代码,并考虑将所有记录与shopID匹配,但在循环中过滤和访问时效率低。
$add1 = ShopMeta::where('shopId', '=', $theID)->where('metadataKey', '=', 1015)->firstOrFail();
这样做的好处是我可以使用以下代码而不是foreach循环访问该成员。
$add1->metadataValue;
有没有更好的方法来完成所有的价值?
答案 0 :(得分:3)
这是Scoped Query的用途。
答案 1 :(得分:0)
只需使用whereIn
:
$add1 = ShopMeta::where('shopId', '=', $theID)
->whereIn('metadataKey', array(1015, 1016))
->get();