Postingan lainnya
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()]);
}
}
0
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>
0
Tanggapan
Terimakasih maaf saya kurang teliti