Я пытаюсь использовать толчок массива для добавления нового элемента в массив Laravel, но у меня возникли некоторые проблемы.Я хочу добавить новый элемент с именем «Цвет» в «data_chart».Я пытался использовать массив Push и массив Unshift.Есть ли лучший способ сделать это?
Я хочу результат, как это:
"data": [
{
"id": 29,
"title": "get data users",
"function_name": "selectDataUser",
"function_drop": "selectDataUser",
"type_of_chart": "Pie",
"embed": null,
"created_at": "2019-06-15 03:26:09.000",
"updated_at": null,
"data_chart": {
"data": [
{
"name": "Administrator",
"total": "100",
"color" "#9c1d1d" //I want color should be here in this line
},
{
"name": "Staff",
"total": "100",
"color" "#9c1d1d" //new item named Color
},
],
}
}
]
Но когда я пытаюсь использовать массив толчок, результат становитсякак это:
"data": [
{
"id": 29,
"title": "get data users",
"function_name": "selectDataUser",
"function_drop": "selectDataUser",
"type_of_chart": "Pie",
"embed": null,
"created_at": "2019-06-15 03:26:09.000",
"updated_at": null,
"data_chart": {
"data": [
{
"name": "Administrator",
"total": "100"
//color should be in here
},
{
"name": "Staff",
"total": "100"
//color should be in here
}
],
"color": "#9c1d1d" //idk but the color shouldn't like this
}
}
]
и это мой код:
public function index(Request $request)
{
try {
$query = $this->dashboard->with('rolesDashboard','userDashboard')
->orderBy('id')
->get();
$data=[];
foreach ($query as $key) {
if (empty($key->store_procedure)) {
$key->function_name = "";
$data_chart = "";
}else{
try {
//data chart
$data_chart = DB::select($key->function_name); //call store procedure from SQL Server
} catch (SqlException $sqlEx) {
return response()->default(400, $sqlEx->getMessage());
}
}
$color = "#9c1d1d"; //color value
array_push($data_chart, $color); //here's the code
$data[] = [
'id' => $key->id,
'title' => $key->title,
'function_name' => $key->function_name,
'function_drop' => $key->function_drop,
'type_of_chart' => $key->type_of_chart,
'embed' => $key->embed,
'created_at' => $key->created_at,
'updated_at' => $key->updated_at,
'data_chart' => $data_chart, //call data_chart
];
}
return response()->default(200, trans('messages.success.get-data'),$data);
} catch (Exception $e) {
return response()->default(400, $e->getMessage());
}
}