有没有办法只从这个 Laravel 查询返回 ID

问题描述

我运行了一个查询来满足我的特定需求,但它返回了一大堆数组, 有没有办法只获取我需要的特定列?

这就是我正在尝试的

 $datas = DB::table('tableA')
                    ->select('tableA.id')
                    ->rightJoin('tableB','tableA.id','=','tableB.tableAt_id')
                    ->where('tableB.active',1)
                    ->whereIn('tableB.status',$myArray)
                    ->get();

输出

Illuminate\Support\Collection {#1349 ▼
  #items: array:221 [▼
    0 => {#1327 ▼
      +"id": 2020010201
    }
    1 => {#1346 ▼
      +"id": 2020010202
    }
    2 => {#1343 ▼
      +"id": 2020011501
    }

我只想要身份证。我试过 toArray() 但它是一样的

解决方法

使用 pluck。

您的代码应该是。

$datas = DB::table('tableA')
                    ->rightJoin('tableB','tableA.id','=','tableB.tableAt_id')
                    ->where('tableB.active',1)
                    ->whereIn('tableB.status',$myArray)
                    ->pluck('tableA.id');

Read More about Pluck Method

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...