I am not sure why the desired row stating "No record found" is not displaying despite not having any data matching Selangor
BazaarLocController:
public function index()
{
$bzr = BzrLocation::where('area', 'Perlis')->get();
$bzr2 = BzrLocation::where('area', 'Selangor')->get();
$bzr3 = BzrLocation::where('area', 'Pahang')->get();
$bzr4 = BzrLocation::where('area', 'Johor')->get();
$bzr5 = BzrLocation::where('area', 'Melaka')->get();
$bzr6 = BzrLocation::where('area', 'Negeri Sembilan')->get();
$allbzr = [
'bzrloc' => $bzr,
'bzrloc2' => $bzr2,
'bzrloc3' => $bzr3,
'bzrloc4' => $bzr4,
'bzrloc5' => $bzr5,
'bzrloc6' => $bzr6
];
return view('admin.bazaarloc')->with($allbzr);
}
bazaarloc.blade.php:
<table class="table table-hover">
<caption>Table 2</caption>
<thead class="thead-dark">
<tr>
<th scope="col" style="width: 8%; vertical-align: top;">No.</th>
<th scope="col" style="width: 60%; vertical-align: top;">Location</th>
<th scope="col" style="width: 21%; vertical-align: top;">Amount Approved</th>
<th scope="col" style="width: 21%; vertical-align: top;">Description</th>
<th scope="col" style="width: 4%;"></th>
<th scope="col" style="width: 4%;"></th>
</tr>
</thead>
<tbody>
@php
$counting = 0
@endphp
@foreach($bzrloc2 as $bzr)
@php
$counting++
@endphp
<tr>
<th scope="row">{{$counting}}</th>
<td>{{$bzr->name}}</td>
<td>{{$bzr->totalPlot}}</td>
<td>{{$bzr->plotAvail}}</td>
<td><a href="{{ route('bazaarLocation.edit', $bzr->bzrloc_id) }}"><button type="submit" class="btn btn-success btn-sm">Edit</button></a></td>
<td>
<form method="POST" action="{{ route('bazaarLocation.destroy', $bzr->bzrloc_id) }}">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Adakah anda pasti ingin membatalkan lokasi tersebut?')">Batal</button>
</form>
</td>
</tr>
@endforeach
@if(empty($bzrloc2))
<tr>
<td colspan="2">
No record found
</td>
</tr>
@endif
</tbody>
</table>
When printing out $bzrloc2, it displays []. Which confirms the array is empty. Based on the php manual, the empty() function should consider this empty and return true.
Because you use collection, not array. Collection will return false
:
empty(collect([])) // false
empty([]) // true
Try following code :
<table class="table table-hover">
<caption>Table 2</caption>
<thead class="thead-dark">
<tr>
<th scope="col" style="width: 8%; vertical-align: top;">No.</th>
<th scope="col" style="width: 60%; vertical-align: top;">Location</th>
<th scope="col" style="width: 21%; vertical-align: top;">Amount Approved</th>
<th scope="col" style="width: 21%; vertical-align: top;">Description</th>
<th scope="col" style="width: 4%;"></th>
<th scope="col" style="width: 4%;"></th>
</tr>
</thead>
<tbody>
@if($bzrloc2->count())
@php
$counting = 0
@endphp
@foreach($bzrloc2 as $bzr)
@php
$counting++
@endphp
<tr>
<th scope="row">{{$counting}}</th>
<td>{{$bzr->name}}</td>
<td>{{$bzr->totalPlot}}</td>
<td>{{$bzr->plotAvail}}</td>
<td><a href="{{ route('bazaarLocation.edit', $bzr->bzrloc_id) }}"><button type="submit" class="btn btn-success btn-sm">Edit</button></a></td>
<td>
<form method="POST" action="{{ route('bazaarLocation.destroy', $bzr->bzrloc_id) }}">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Adakah anda pasti ingin membatalkan lokasi tersebut?')">Batal</button>
</form>
</td>
</tr>
@endforeach
@else
<tr>
<td colspan="2">
No record found
</td>
</tr>
@endif
</tbody>
</table>
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments