Undefined variable: produks, saat passing data ke dari controller ke view

Kenapa undefined variable produks ya padahal di controller sudah benar malah error Possible typo $produks

Kode di view
@forelse ($produks as $row)
                                       <tr>
                                           <td>
                                               @if (!@empty($row->photo))
                                                   <img src="{{ asset('upload/produk/' . $row->photo) }}" alt="{{ $row->nama }}" width="50px" height="50px">
                                               @else
                                                    <img src="http://via.placeholder.com/50x50" alt="{{ $row->nama }}">
                                               @endif
                                           </td>
                                           <td>
                                                <sup class="label label-success">({{ $row->kode }})</sup>
                                                <strong>{{ ucfirst($row->nama) }}</strong>
                                           </td>
                                                <td> {{ $row->stok }}</td>
                                                <td>Rp {{ number_format($row->harga) }}</td>
                                                <td> {{ $row->kategori->nama }}</td>
                                                <td> {{ $row->updated_at }}</td>
                                           <td>
                                           <form action="{{ route('produk.destroy', $row->id) }}" method="POST">
                                                @method('DELETE')
                                                @csrf
                                                <input type="hidden" name="_method" value="DELETE">
                                                <a href="{{ route('produk.edit', $row->id) }}" class="btn btn-warning btn-sm">Edit<i class="fa fa-edit"></i>
                                                <button class="btn btn-danger btn-sm">Hapus<i class="fa fa-trash"></i></button>
                                            </form>
                                           </td>
                                       </tr>
                                       @empty
                                       <tr>
                                           <td colspan="7" class="text-center">Tidak ada data</td>
                                       </tr>
                                       @endforelse

Kode di controller
public function index()
    {
        $produks = Produk::with('kategori')->orderBy('created_at', 'DESC')->paginate(10);
        return view('produks.index', compact('product'));
    }

    public function create()
    {
        $kategoris = Kategori::orderBy('nama', 'ASC')->get();
        return view('produks.create', compact('kategoris'));
    }

    public function store(Request $request)
    {
        $this->validate($request, [
            'kode' => 'required|string|max:10|unique:produks',
            'nama' => 'required|string|max:100',
            'deskripsi' => 'nullable|string|max:100',
            'stok' => 'required|integer',
            'harga' => 'required|integer',
            'id_kategori' => 'required|exists:kategoris,id',
            'photo' => 'nullable|image|mimes:jpg,png,jpeg'
        ]);

         try {
            $photo = null;
            if ($request->hasFile('photo')) {
                $photo = $this->saveFile($request->nama, $request->file('photo'));
            }

            $produk = Produk::create([
                'kode' => $request->kode,
                'nama' => $request->nama,
                'deskripsi' => $request->deskripsi,
                'stok' => $request->stok,
                'harga' => $request->harga,
                'id_kategori' => $request->id_kategori,
                'photo' => $photo
            ]);
            return redirect(route('produks.index'))->with(['success' => '<strong>' . $produk->nama . '</strong> Ditambahkan']);
        } catch (\Exception $e) {
            return redirect()->back()->with(['error' => $e->getMessage()]);
        }
    }

avatar sandaljepit
@sandaljepit

2 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

Tanggapan

Ada yang kurang jelas dari pertanyaan diatas?

1 Jawaban:

Jawaban Terpilih

Cek dulu kodenya baik2, kesalahan ada di controller method index Harusnya seperti ini <pre> return view('produks.index', compact('produks')); </pre>

avatar Rismal
@Rismal

131 Kontribusi 105 Poin

Dipost 4 tahun yang lalu

Tanggapan

Terimakasih maaf saya kurang teliti

Login untuk ikut Jawaban