我正在处理这个查询。。。。
use Illuminate'Database'Capsule'Manager as Capsule;
[…]
$sql = "SELECT
blabla";
$clients = Capsule::select($sql);
dd($clients);
从这里我得到了这样的东西:
[0]=>
array(4) {
["house_rec_by_class"]=>
string(8) "-1250.00"
["client_name"]=>
string(11) "lalala"
["client_id"]=>
string(19) "800001D1-14037201481"
["contract_stage"]=>
string(4) "Live"
}
[1]=>
array(4) {
["house_rec_by_class"]=>
string(7) "-250.00"
["client_name"]=>
string(15) "lolololo"
["client_id"]=>
string(19) "80000180-13939692362"
["contract_stage"]=>
string(4) "Live"
}
现在我想要的是得到这个相同的数组,键中有[client_id],而不是只有连续的数字。。。像
["800001D1-14037201481"]=> ['client_name' => 'lalalala', '...'],
["80000180-13939692362"]=> ['client_name' => 'lolololo', '...']
我知道我可以重新循环数组并分配密钥,只是想知道是否有更好的方法。。谢谢
您需要类似thit:的东西
foreach ($clients as $elem) {
$id = $elem['client_id'];
$newClients[$id]['client_name'] = $elem['client_name'];
$newClients[$id]['contract_stage'] = $elem['contract_stage'];
// etc
}
您现在有了一个新的Array$newClients,正如预期的那样。我建议您使用isset来检查是否每个元素都存在。