php - Laravel 数据库查询优化

标签 php mysql laravel laravel-5 laravel-5.5

我有三个与 articles 相关的表,我需要使用我拥有的 staff_id 从中获取 article_id

我目前正在使用这三个查询。

  $rejects = DB::table('rejected')->where('staff_id', $staff_id)->pluck('article_id');
  $missed = DB::table('missed')->where('staff_id', $staff_id)->pluck('article_id');
  $flagged = DB::table('flagged')->where('staff_id', $staff_id)->pluck('article_id');

然后合并它们

  $rejects = $rejects->toArray();
  $missed = $missed->toArray();
  $flagged = $flagged->toArray();

  $all = array_merge($rejects, $missed, $flagged);

在生产中,我的数据库将位于不同的服务器中,因此我试图减少查询数量。 如何仅使用一个数据库查询即可获得此结果。

最佳答案

使用 Laravel 的 Eloquents。它真的非常有用。它将大大减少查询的数量,并且不用担心后端数据库引擎。 引用:https://laravel.com/docs/5.5/eloquent

关于php - Laravel 数据库查询优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763598/

相关文章:

php - 如何在 PHP 中显示唯一的数组值

php - 如何在 php 中使用 oci_new_collection?

python - 错误 2006 : "MySQL server has gone away" using Python, Bottle Microframework 和 Apache

mysql - 避免包含 group by 的嵌套子查询

php - SELECT LAST_INSERT_ID() 未正确生成

mysql - 如何增加 Rails 中的连接超时?

laravel - 在 kernel.php 中列出中间件

php - 从数据库中检索特定用户的内容

laravel - Laravel 混合观看模式下的无限重建循环

php - 如何在 php 中构建一个 json 返回值?