2017-06-23 1 views
0

sur mon point de vue de home.blade.phpErrorException Essayer d'obtenir la propriété de non-objet que j'essaie juste de se rendre à ma page modifier cette erreur ne me laissera pas

<a href="{{ route('posts.edit') }}" class="btn btn-info">&nbsp;&nbsp;Edit&nbsp;&nbsp;&nbsp;</a> 

je veux juste voir l'édition page quand je clique sur ce lien mais une erreur ErrorException se produit ce qui pourrait être faux?

ceci est mon PostController

public function edit($id) 
    { 
     // 
     $post = Post::find($id); 
     return view('posts.edit')->withPost($post); 
    } 

Heres mon web.php où toute ma route est

Route::get('posts/home', function() { 
    return view('posts/home'); 
}); 

Route::get('about', function() { 
    return view('about'); 
}); 

Route::get('contact', function() { 
    return view('contact'); 
}); 

Route::get('posts', function() { 
    return view('posts/index'); 
}); 

Route::get('login', function() { 
    return view('login'); 
}); 

Route::resource('posts', 'PostController'); 
//Route::post('posts', '[email protected]'); 
Route::post('posts', '[email protected]')->name('insert'); 
Route::post('posts', '[email protected]')->name('update'); 
Route::get('posts/create', '[email protected]'); 
+0

ajouter s'il vous plaît message d'erreur. Vous avez essayé d'accéder à la propriété d'un objet qui n'existe pas –

+0

à quoi ressemble votre page d'édition? – rchatburn

+0

@Sagar Gautam Essayer d'obtenir la propriété de non-objet (Voir: C: \ xampp \ htdocs \ test_projet \ ressources \ vues \ posts \ home.blade.php) est-ce celui que vous voulez vérifier? – Lestah

Répondre

0

En regardant votre nom de l'itinéraire, il est likey que vous manque un paramètre pour identifier le publier pour éditer.
quelque chose comme;

<a href="{{ route('posts.edit', ['id'=>$id])}}">foo</a> 
+0

il est toujours la même erreur ErrorException Essayer pour obtenir la propriété de non-objet – Lestah

0

si vous effectuer des données d'édition Votre itinéraire est comme: -

Route::match(['get', 'post'], '/post/edit/{id}', '[email protected]'); 

Maintenant, votre fonction ressemble à: -

public function edit($id=null){ 
    $post = Post::find($id); 
    return view('posts.edit')->with(compact('post')); 
} 

Maintenant, votre balise d'ancrage

<a href="{{ url('/post/edit/'.$post->id) }}" class="btn btn-info">&nbsp;&nbsp;Edit&nbsp;&nbsp;&nbsp;</a> 

Vous pouvez implémenter dans votre cas dans cet exemple ci-dessus. Hope it helps

+0

merci mais je reçois toujours la même erreur ErrorException Essayer d'obtenir la propriété de non-objet – Lestah

+0

avez-vous changer l'itinéraire et imprimer l'id dans votre fonction – kunal

+0

j'ai suivi toutes vos instructions kunal mais je toujours obtenir la même erreur désolé – Lestah

0

Je pense que vous pouvez essayer cette

<a href="{{ route('posts.edit', [$posts->id]) }}" class="btn btn-info">&nbsp;&nbsp;Edit&nbsp;&nbsp;&nbsp;</a> 

Hope this vous aide

+0

Je ne pense pas que vous ayez besoin des parenthèses rectangulaires, mais ça devrait toujours être bien '[$ posts-> id])' -> '$ posts-> id)' – utdev