有没有办法只 return 这个 Laravel 查询的 ID
Is there a way to only return the ID from this Laravel Query
我有一个 运行 查询来满足我的特定需求,但它返回了一大堆数组,
有没有办法只获取我需要的特定列?
这就是我正在尝试的
$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');
我有一个 运行 查询来满足我的特定需求,但它返回了一大堆数组, 有没有办法只获取我需要的特定列?
这就是我正在尝试的
$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');