php - Laravel 两次查询,如何一次查询?
问题描述
我有模特职位。我使用这个包:https ://github.com/cyrildewit/eloquent-viewable
我在模型帖子中有访问者:
protected $appends = ['views'];
public function getViewsAttribute()
{
return $this->views()->count();
}
foreach
在我发帖时在刀片中:
@foreach($posts as $post)
Views: {{ $post->views }} {{ trans_choice('trans.views', $post->views)
@endforeach
我收到两个查询views
。如果帖子 100,那么查询将是 200 .. 对于每个帖子,我都会得到两个相同的查询。我该如何解决这个问题?如果我删除{{ trans_choice('trans.views', $post->views)
然后我得到一个查询。
解决方案
鉴于这views
是 Laravel 关系,您可以使用该withCount
函数“急切加载” value。
$posts = Post::withCount('views')->get();
推荐阅读
- azure-storage - "CustomInputSchema" 不能与 EventGridSchema 的主题输入模式结合使用
- c - g_dbus_proxy_new_for_bus_sync:断言“g_variant_is_object_path(object_path)”失败
- python - AmbiguousForeignKeysError:无法确定之间的连接
- r - 比较 R 中的日期效果不佳(相等)
- vba - 如何使用 VBa 中的函数计算 Access 查询中的中位数
- ios - gRPC 中的 TLS 证书固定
- python - 带有字符数组的 Numpy ufunc.at
- python - 将 int64 Pandas 列一分为二
- javascript - 无法在 Chrome 开发工具中的“if”块中设置断点
- javascript - 如何判断哪个键调用了javascript中的函数