Postingan lainnya
Error double foreach dalam 1 view
Kenapa ya saya mengalamai error undefined variable ketika melakukan foreach lebih dari 1 dalam halaman yang sama serta method yang berbeda? Karena saya ingin menampilkan post perkategori di halaman yang sama gitu. Padahal darta yang kategori bisnisnya ada. dan yang method index juga ada datanya
Controllernya :
public function index()
{
$data = DB::table("artikels")->paginate(12);
if($data->count() > 0){
return view("index",["all" => $data]);
}else{
abort(404);
}
}
public function bisnis()
{
$bisnis = DB::table("artikels")->where("kategori","Bisnis")->get();
if($bisnis->count() > 0)
return view("index",["bisnis" => $bisnis]);
else{
echo "tidak data";
}
}
Viewnya :
<div class="row">
@foreach($all as $dt)
<div class="col-md-4 mb-4 p-2 pr-3">
<div class="card">
<div class="card-header">
{{$dt->judul}}
</div>
<img src="Gambar_Artikel/{{$dt->gambar}}" class="img-thumbnail" height="320">
<div class="card-body">
<p class="card-text">{!!Str::substr($dt->isi,0,100)!!}</p>
<div>
<a class="btn btn-success btn-sm" href="/artikel/{{$dt->slug}}">Selengkapnya</a>
</div>
</div>
<div class="card-footer">
<i class="fas fa-user"></i> {{$dt->penulis}}
</div>
</div>
</div>
@endforeach
</div>
{{$all->links()}}
<br>
<h1>Bisnis</h1>
<ol>
@foreach($bisnis as $bn)
<li>{{$bn->judul}}</li>
@endforeach
</ol>
Tanggapan
errornya seperti apa?? undefined variable yg mana??
Variable bisnis
2 Jawaban:
<pre>
@if (isset($all))
<div class="row">
@foreach($all as $dt)
<div class="col-md-4 mb-4 p-2 pr-3">
<div class="card">
<div class="card-header">
{{$dt->judul}}
</div>
<img src="Gambar_Artikel/{{$dt->gambar}}" class="img-thumbnail" height="320">
<div class="card-body">
<p class="card-text">{!!Str::substr($dt->isi,0,100)!!}</p>
<div>
<a class="btn btn-success btn-sm" href="/artikel/{{$dt->slug}}">Selengkapnya</a>
</div>
</div>
<div class="card-footer">
<i class="fas fa-user"></i> {{$dt->penulis}}
</div>
</div>
</div>
@endforeach
</div>
{{$all->links()}}
@endif
<br>
<h1>Bisnis</h1>
@if (isset($bisnis))
<ol>
@foreach($bisnis as $bn)
<li>{{$bn->judul}}</li>
@endforeach
</ol>
@endif </pre>
Jawaban Terpilih
<div>Coba di method index-nya diubah sperti ini :</div><pre>public function index() { $data = DB::table("artikels")->paginate(12); $bisnis = DB::table("artikels")->where("kategori","Bisnis")->get();
if($data-&gt;count() &gt; 0 || $bisnis-&gt;count() &gt; 0){
return view("index",[
"all" =&gt; $data,
"bisnis" =&gt; $bisnis
]);
}else{
abort(404);
}
}</pre>
Tanggapan
Siap mas, saya coba