从Laravel数据库创建关联数组



目前我正在用flutter构建一个应用程序,但我的Laravel api控制器没有返回合适的多维数组。我想要{[0]=>数组,[1]=>数组等}。如果有人知道这个问题的解决方案,将不胜感激

public function index()
{
$payments = Payment::all();
return $payments;
}

它返回的是:

[
{
"id": 1,
"description": "test",
"price": "9.00",
"currency": "EUR",
"status": "open",
"deleted_at": null,
"created_at": "2020-08-10T09:50:52.000000Z",
"updated_at": "2020-08-10T09:50:52.000000Z"
},
{
"id": 2,
"description": "test",
"price": "3.00",
"currency": "USD",
"status": "open",
"deleted_at": null,
"created_at": "2020-08-13T19:06:23.000000Z",
"updated_at": "2020-08-13T19:06:23.000000Z"
}
]

我试了很多次,这让我最接近,但后来我得到了1:{ARRAY}

我尝试过的代码:

public function index()
{
$data = [];
$payments = Payment::all();
$id=1;
foreach($payments as $payment){
array_push($data,[$id=>$payment]);
$id++;
}
return $data;
}

结果:

[
{
"1": {
"id": 1,
"description": "test",
"price": "9.00",
"currency": "EUR",
"status": "open",
"deleted_at": null,
"created_at": "2020-08-10T09:50:52.000000Z",
"updated_at": "2020-08-10T09:50:52.000000Z"
}
},
{
"2": {
"id": 2,
"description": "test",
"price": "3.00",
"currency": "USD",
"status": "open",
"deleted_at": null,
"created_at": "2020-08-13T19:06:23.000000Z",
"updated_at": "2020-08-13T19:06:23.000000Z"
}
}

]

我想要:

{
1:{
"message":"test",
"price":"9"
"currency":"EUR"
},
2:{
"message":"test",
"price":"9"
"currency":"EUR"
}
}

也试试这个

public function index(){
$payments = Payment::all();
return response()->json([$payments]);
}

试试这个

public function index()
{
$payments = Payment::get()->toArray();
return $payments;
}

相关内容

  • 没有找到相关文章

最新更新