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>
avatar Ihzarizky
@Ihzarizky

39 Kontribusi 9 Poin

Diperbarui 3 tahun yang lalu

Tanggapan

errornya seperti apa?? undefined variable yg mana??

Variable bisnis

2 Jawaban:

<pre> @if (isset($all)) &lt;div class="row"&gt; @foreach($all as $dt) &lt;div class="col-md-4 mb-4 p-2 pr-3"&gt;
&lt;div class="card"&gt; &lt;div class="card-header"&gt; {{$dt-&gt;judul}} &lt;/div&gt; &lt;img src="Gambar_Artikel/{{$dt-&gt;gambar}}" class="img-thumbnail" height="320"&gt; &lt;div class="card-body"&gt; &lt;p class="card-text"&gt;{!!Str::substr($dt-&gt;isi,0,100)!!}&lt;/p&gt; &lt;div&gt; &lt;a class="btn btn-success btn-sm" href="/artikel/{{$dt-&gt;slug}}"&gt;Selengkapnya&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="card-footer"&gt; &lt;i class="fas fa-user"&gt;&lt;/i&gt; {{$dt-&gt;penulis}} &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; @endforeach &lt;/div&gt; {{$all-&gt;links()}} @endif &lt;br&gt; &lt;h1&gt;Bisnis&lt;/h1&gt; @if (isset($bisnis)) &lt;ol&gt; @foreach($bisnis as $bn) &lt;li&gt;{{$bn-&gt;judul}}&lt;/li&gt; @endforeach &lt;/ol&gt; @endif </pre>

avatar devio
@devio

101 Kontribusi 46 Poin

Dipost 3 tahun yang lalu

Jawaban Terpilih

<div>Coba di method index-nya diubah sperti ini :</div><pre>public function index() { $data = DB::table("artikels")-&gt;paginate(12); $bisnis = DB::table("artikels")-&gt;where("kategori","Bisnis")-&gt;get();

if($data-&amp;gt;count() &amp;gt; 0 || $bisnis-&amp;gt;count() &amp;gt; 0){
  return view(&quot;index&quot;,[
     &quot;all&quot; =&amp;gt; $data,
     &quot;bisnis&quot; =&amp;gt; $bisnis
  ]);
}else{
	abort(404);
 }

}</pre>

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 3 tahun yang lalu

Tanggapan

Siap mas, saya coba

Login untuk ikut Jawaban