我正在考虑这个问题......
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', '...']
我知道我可以重新循环数组并分配键,只是好奇有没有更好的方法.. 谢谢..!
答案 0 :(得分:0)
你需要这样的东西:
foreach ($clients as $elem) {
$id = $elem['client_id'];
$newClients[$id]['client_name'] = $elem['client_name'];
$newClients[$id]['contract_stage'] = $elem['contract_stage'];
// etc
}
您现在可以按预期使用新的Array $ new Clients。我建议你使用isset检查每个元素是否存在。