Php 当使用Laravel的Elount获得结果时,有没有一种方法可以使用主键作为索引?
假设我在MySQL数据库中得到了这样一个表,id是主键Php 当使用Laravel的Elount获得结果时,有没有一种方法可以使用主键作为索引?,php,laravel,Php,Laravel,假设我在MySQL数据库中得到了这样一个表,id是主键 -------------------- |id | name | score | -------------------- 1 Alice 77 -------------------- 2 Bob 89 -------------------- 3 Charlie 95 使用laravel Elount从表中获取数据时 $result = TestingTable::get()->toArra
--------------------
|id | name | score |
--------------------
1 Alice 77
--------------------
2 Bob 89
--------------------
3 Charlie 95
使用laravel Elount从表中获取数据时
$result = TestingTable::get()->toArray();
return $result;
返回结果如下所示:
{
0: {
id: 1,
name: Alice,
score: 77,
},
1: {
id: 2,
name: Bob,
score: 89,
},
2: {
id: 3,
name: Charlie,
score: 95,
}
}
是否有函数使返回数组类似于:
{
1: {
name: Alice,
score: 77,
},
2: {
name: Bob,
score: 89,
},
3: {
name: Charlie,
score: 95,
}
}
换句话说,我是否有办法将主键作为返回数组的索引
我知道我可以通过循环数据并构建自己的数组来获得我想要的。我知道我可以编写自己的函数,并在需要时调用它。在编写函数之前,我只想知道Laravel或PHP中是否有预构建函数。您可以使用keyBy()
来实现:
$result = TestingTable::get()->keyBy('id')->toArray();
只是补充一点,返回结果与我在问题中所说的不完全一样。id用作索引,但也保留在数组中。然而,这对我来说已经足够好了,因此我接受这是一个正确的答案。如果你想隐藏它,你可以在你的模型中使用
$hidden
属性,如果列是隐藏的,你仍然可以通过键盘输入?是的,我想是的。。。隐藏仅在转换为数组时起作用,在您的情况下,这发生在keyBy之后