This is Array Data Showing
<?php
array:2 [▼
"chest" => array:2 [▼
"Chest Press" => array:1 [▼
0 => "1"
]
"Flys" => array:2 [▼
0 => "3"
1 => "4"
]
]
"hints" => array:2 [▼
"Chest Press" => array:1 [▼
0 => "test1"
]
"Flys" => array:1 [▼
0 => "test2"
]
]
]
Answer : ==>
Get the Data by Multidimensional Array
<table class="table table-striped table-hover table-reflow">
<thead>
<tr>
<th>Exercises</th>
<th>Days</th>
<th>Hints</th>
</tr>
</thead>
<tbody>
@foreach($chests['chest'] as $chest => $exc)
<tr>
<td>{{$chest}}</td>
@foreach($exc as $key => $value)
<td>
<strong>{{$value}},</strong>
</td>
@endforeach
@endforeach
@foreach($chests['hints'] as $hint => $hin)
@foreach($hin as $key => $value)
<td>
<strong>{{$value}}</strong>
</td>
@endforeach
</tr>
@endforeach
</tbody>
@foreach ($daysArray as $day)
<td >{{ $day }}</td>
@endforeach
It would probably be best to comma separate the days.
<td>{{ implode(', ', $daysArray) }}</td>
Then each row will only have 3 columns (not breaking the table), with the days column being comma separated days.
Edit: If it's possible for an exercise to have more than one "hint", you'd need to do the same there. Instead of
@endforeach
<td>{{ $chests['hints'][$exerciseName][0]) }}</td>
</tr>
@endforeach
it would just be
<td>{{ implode(', ', $chests['hints'][$exerciseName]) }}</td>
The way you have it now is completely breaking your table in both places (view the html source and check, you'll have mismatched td's and tr's), whereas mine doesn't. So, for the whole thing...
<tbody>
@foreach ($chests['chest'] as $exerciseName => $daysArray)
<tr>
<td>{{ $exerciseName }}</td>
<td>{{ implode(', ', $daysArray) }}</td>
<td>{{ implode(', ', $chests['hints'][$exerciseName]) }}</td>
</tr>
@endforeach
</tbody>
<tbody>
@foreach ($chests['chest'] as $exerciseName => $daysArray)
<tr>
<td>{{ $exerciseName }}</td>
<td>{{ array_sum($daysArray) }}</td>
<td>{{ $chests['hints'][$exerciseName][0] }}</td>
</tr>
@endforeach
</tbody>
produces
Chest Press | 1 | test1
Flys | 7 | test2
array:10 [▼
"current_page" => 1
"data" => array:15 [▼
0 => array:11 [▼
"id" => 1
"category" => "mobile"
"category_name" => "Mobile, Tablets & Accessories"
"sub_category" => "mobiles"
"sub_category_name" => "Mobile Phones"
"child_category" => null
"child_category_name" => null
"child_property" => null
"can_compare" => 1
"created_at" => "2017-07-14 13:18:06"
"updated_at" => "2017-07-14 13:18:06"
]
1 => array:11 [▶]
2 => array:11 [▶]
3 => array:11 [▶]
4 => array:11 [▶]
5 => array:11 [▶]
6 => array:11 [▶]
7 => array:11 [▶]
8 => array:11 [▶]
9 => array:11 [▶]
10 => array:11 [▶]
11 => array:11 [▶]
12 => array:11 [▶]
13 => array:11 [▶]
14 => array:11 [▶]
]
"from" => 1
"last_page" => 38
"next_page_url" => "https://price-api.datayuge.com/api/v1/compare/list/categories?page=2"
"path" => "https://price-api.datayuge.com/api/v1/compare/list/categories"
"per_page" => 15
"prev_page_url" => null
"to" => 15
"total" => 567
]
0 comments:
Post a Comment
Thanks