我有一个联系人表和CONTACT_LIST表,CONTACT_LIST有很多联系人,联系人表中有一个IS_ACTIVE场。
要得到一个CONTACT_LIST我使用查询生成如下积极接触的次数:
$contact_list->contacts()->where('is_active', 1)->count();
如果联系人的数量太大查询时间太长。有没有实现这个更好的办法?
我可以看到你要优化你的要求的性能。
实现,你应该使用急切加载,让您的新的要求应该有如下:
$contactList = App\ContactList::with(['contacts' => function ($query) {
$query->where('is_active', 1);
}])->count();
有关Laravel如何实现渴望加载更多信息,请查看文档的链接:eager-loading documentation