【问题标题】:PHP Laravel Efficient Feed GenerationPHP Laravel 高效的提要生成
【发布时间】:2014-06-01 02:54:39
【问题描述】:

好的,所以我有一个基于提要的网络应用程序,有点像 facebookNews Feed。问题在于我生成提要的方式。我不确定这是最有效和/或最好的方法。

我使用 Laravel + Eloquent ORM

$feed = Post::whereIn('id', $following_ids)
                        ->orderBy('created_at', 'desc')
                        ->take(20)
                        ->skip($page)
                        ->get();

其中$following_ids 是用户关注的ID 数组。

问题在于,据我了解,上述语句生成的 SQL 会导致您关注的用户的每篇帖子首先被加载,然后按时间顺序排序,仅实际使用一小部分。

有没有更有效的方法来做到这一点?这看起来真的很浪费。

【问题讨论】:

  • 我认为开发 SQL 是为了处理这样的查询。如果您发现性能问题,您可以稍后“缓存”帖子列表

标签: php sql orm laravel eloquent


【解决方案1】:

你应该看看我写的这个包:https://github.com/GetStream/stream-laravel;它与您的 Eloquent 模型集成并将数据存储在提要中。

使用相同的软件包,您可以让用户关注其他订阅源并创建类似于 Facebook 的新闻订阅源(或 Twitter)的功能。

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2015-08-12
    • 1970-01-01
    相关资源
    最近更新 更多