I'm not familiar with L3, but I think you can do/verify that:
Fix your edit route
You forget the (:num)
and the $id
in function($id)
:
Route::get('editpost/(:num)', array('before' => 'auth', 'do' => function($id){
$user = Auth::user();
$view_post = Post::with('user')->find($id);
return View::make('admin.editpost')
->with('user', $user)
->with('post', $view_post);}));
Check your Form
echo Form::open("post/{$post->id}", 'PUT');