在Laravel中有效地访问数据

时间:2013-09-15 14:26:48

标签: php laravel laravel-4 eloquent

想知道是否有可能通过雄辩的方式更好地从数据库中获取数据?以下是我经常使用的代码,并考虑将所有记录与shopID匹配,但在循环中过滤和访问时效率低。

$add1 = ShopMeta::where('shopId', '=', $theID)->where('metadataKey', '=', 1015)->firstOrFail();

这样做的好处是我可以使用以下代码而不是foreach循环访问该成员。

$add1->metadataValue;

有没有更好的方法来完成所有的价值?

2 个答案:

答案 0 :(得分:3)

这是Scoped Query的用途。

答案 1 :(得分:0)

只需使用whereIn

$add1 = ShopMeta::where('shopId', '=', $theID)
                ->whereIn('metadataKey', array(1015, 1016))
                ->get();