如何获取数组的元素数据?下面是对象旅游的数组数据。
有些旅游可能没有tour_attendees (空数组)。
在一次巡回演出中,只有两项记录(与会者)。
#items: array:3 [▼
0 => {#2115 ▶}
1 => {#3067 ▶}
2 => {#2125 ▼
+"id": 12
+"schedule_date": "28-11-2021"
+"created_at": "2021-11-18T00:16:42.000000Z"
+"updated_at": "2022-01-19T08:29:05.000000Z"
+"deleted_at": null
+"tour_attendees": array:2 [▼ // array data that I want to extract
0 => {#3077 ▶} // attendee #1
1 => {#3054 ▶} // attendee #2
]
}我想提取数据并按下面的方式放进表格中。
| No | Attendee #1 | Mobile | Attendee #2 | Mobile |
| | | (Attendee #1) | | (Attendee #2) |
|-----|----------------|-----------------|------------------|-----------------|
| 1 | | | | |
| 2 | | | | |刀片文件
@foreach ($tour->tour_attendees as $key => $value)
<td>
@if (!empty($tour->tour_attendees))
@foreach ($tour->tour_attendees as $key => $attendee)
@if ($key == 0)
{{ $attendee->name }}
@endif
@endforeach
@endif
</td>
<td> attendee #1 mobile</td>
@endforeach发布于 2022-03-16 12:44:09
您可以在forelse和break上使用key === 2
@forelse ($tour->tour_attendees as $key => $attendee)
@if ($key === 2)
@break
@endif
<td>
{{ $attendee->name }}
</td>
<td>
{{ $attendee->mobile }}
</td>
@empty
<td> - </td><td> - </td><td> - </td><td> - </td>
@endforelse
@if (count($tour->tour_attendees) === 1)
<td> - </td><td> - </td>
@endif发布于 2022-03-17 11:11:16
根据我的理解,您想为参加旅游的人设置数据,每次只需要两位与会者,这样您就可以按照您的表来映射您的数据了。
$tours = collect([
[
"id" => 12,
"schedule_date" => "28-11-2021",
"created_at" => "2021-11-18T00:16:42.000000Z",
"updated_at" => "2022-01-19T08:29:05.000000Z",
"deleted_at" => null,
"tour_attendees" => collect([
[
'id' => 1,
"name" => "john doe",
"phone" => "123456789"
], [
'id' => 1,
"name" => "john doe",
"phone" => "123456789"
]
])
], [
"id" => 12,
"schedule_date" => "28-11-2021",
"created_at" => "2021-11-18T00:16:42.000000Z",
"updated_at" => "2022-01-19T08:29:05.000000Z",
"deleted_at" => null,
"tour_attendees" => collect([])
]
]);
$resposne = $tours->map(function ($tour) {
return [
"id" => $tour["id"],
"schedule_date" => $tour["schedule_date"],
'tour_attendess' => [
'attendee_one_name' => $tour['tour_attendees'][0]['name'] ?? '',
'attendee_one_phone' => $tour['tour_attendees'][0]['phone'] ?? '',
'attendee_two_name' => $tour['tour_attendees'][1]['name'] ?? '',
'attendee_two_phone' => $tour['tour_attendees'][1]['phone'] ?? '',
]
];
});
return $resposne;它会返回像这样的东西
[
{
"id": 12,
"schedule_date": "28-11-2021",
"tour_attendess": {
"attendee_one_name": "john doe",
"attendee_one_phone": "123456789",
"attendee_two_name": "john doe",
"attendee_two_phone": "123456789"
}
},
{
"id": 13,
"schedule_date": "28-12-2021",
"tour_attendess": {
"attendee_one_name": "",
"attendee_one_phone": "",
"attendee_two_name": "",
"attendee_two_phone": ""
}
}
]希望它能帮助你得到你想要的结果!
发布于 2022-03-16 12:54:05
您还可以使用array_splice()函数:
$tour_attendees = array_splice($yourArray,0,2);
https://stackoverflow.com/questions/71494025
复制相似问题