Trying to get property 'foto' of non-object (Tidak bisa menampilkan foto dari database ke user)

Jadi, saya membuaut aplikasi Ecommerce. Saya membuat dua pengguna yaitu user sama admin. Admin nya menggunakan adminlte sedangkan user nya dari colour lib. Saya sudah bisa membuat crud produk di admin dan ingin menampilkan nya di user. Saya berhasil menampilkan itu, saat saya ingin menampilkan "detail produknya" pun di user sudah tampil namun, untuk crud produk yang di admin lte itu tidak bisa berjalan. Dan erorr nya "Trying to get property 'foto' of non-object (View: C:\xampp\htdocs\laravel5.7\resources\views\user\detailprod.blade.php)" Malah memanggil si detail produk padahal saya ga manggil itu. Saya ingin memanggil crud produk admin takutnya tabrakan di router. Tapi saya coba, tetep tidak bisa

Ini Model nya

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Produk extends Model
{
    protected $table = 'produk';
    protected $fillable = ['foto','nama','jenis','harga','deskripsi'];
}

Ini sc View detail produk

<section class="ftco-section">
    	<div class="container">
    		<div class="row">
    			<div class="col-lg-6 mb-5 ftco-animate">
    				<a href="#" class="image-popup">
    					<img src="{{ url('/produk/'.$p->foto) }}" class="img-fluid" alt="Colorlib Template"></a>
    			</div>
    			<div class="col-lg-6 product-details pl-md-5 ftco-animate">
    				<h3>#</h3>
    				<div class="rating d-flex">
							<p class="text-left mr-4">
								<a href="#" class="mr-2">5.0</a>
								<a href="#"><span class="ion-ios-star-outline"></span></a>
								<a href="#"><span class="ion-ios-star-outline"></span></a>
								<a href="#"><span class="ion-ios-star-outline"></span></a>
								<a href="#"><span class="ion-ios-star-outline"></span></a>
								<a href="#"><span class="ion-ios-star-outline"></span></a>
							</p>

Ini Controller nya

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Produk;
use App\Gambar;
use File;

class UserController extends Controller
{

 public function detail($id)
    {
        $p = Produk::find($id);
        return view('user/detailprod', ['p' => $p]);
    }
}

dan ini Route nya keseluruhan

Route::get('/dashboard', 'AdminController@dashboard');
Route::get('/banner', 'AdminController@banner');
Route::get('/berita', 'AdminController@berita');
Route::get('/home', 'UserController@home');
Route::get('/shop', 'UserController@shop');
Route::get('/{id}', 'UserController@detail');
////////////////////////////////////CRUD PRODUL LOKAL////////////////////////////////////
Route::get('/prodak', 'AdminController@pl');
Route::get('/prodak/create', 'AdminController@create');
Route::post('/prodak', 'AdminController@store');
Route::get('/prodak/{id}/edit', 'AdminController@edit');
Route::patch('/prodak/{id}', 'AdminController@update');
Route::get('/prodak/hapus/{id}','AdminController@hapus');
////////////////////////////////////UPLOAD FILE////////////////////////////////////
Route::get('/banner', 'AdminController@upload');
Route::post('/banner/proses', 'AdminController@proses_upload');
Route::get('/banner/hapus/{id}', 'AdminController@hapus_upload');

Tolong bantuan nya kakak kakak:((

avatar elfaranadiva
@elfaranadiva

5 Kontribusi 1 Poin

Diperbarui 4 tahun yang lalu

2 Jawaban:

Jawaban Terpilih

coba <a href='https://sekolahkoding.com/forum/cara-menampilkan-error-debug-di-php-1552899672'>belajar debug di php</a> dulu untuk mencari kesalahan Perhatikan isi dari $p kamu apakah hasilnya sudah sesuai yang kamu mau atau belum

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 4 tahun yang lalu

Tanggapan

udah bisa kak terimakasih

bisa dishare apa solusinya? dan ditandai sebagai jawaban yang benar?

ubah rootnya kak, sudah saya tandai

bukan jawaban saya, maksudnya kamu tulis jawaban yang benar dan ditandai, jadi orang tahu salahnya dimana

mungkin bs tambahkan logic di view detail product nya:

<pre> @if(!is_null($p)) &lt;section class="ftco-section"&gt; {{-- kodingan kamu untuk menampilkan detail product --}} &lt;/section&gt; @endif </pre>

avatar opanegro
@opanegro

3 Kontribusi 1 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban