Basically, I want to solve this error
Missing required parameters for [Route: post.show] [URI: post/show/{id}]. (View: C:\xampp2\htdocs\galaxall\resources\views\index.blade.php)
I am trying to make a system on my site whereby users can post,view post comment on posts and reply.
When a usertypes the details of his post in http://localhost:8000/post/create
,it is supposed to accept the values,insert it into the database and redirect to http://localhost:8000/posts/show
and show a the list of posts ever 'posted' so that the user can view a post can comment and reply to comments about that post.
BUT what currently happens is that after typing the details for the to-be post in http://localhost:8000/post/create
,it inserts into the db and then shows this error on laravel 'customised' error page:
Missing required parameters for [Route: post.show] [URI: post/show/{id}]. (View: C:\xampp2\htdocs\galaxall\resources\views\index.blade.php)
I have no clue what I'm doing wrong.
Please help
These are my code:
PostController.php
<?php
// PostController.php
namespace App\Http\Controllers;
use App\Post;
use Illuminate\Http\Request;
use Auth;
use Stevebauman\Location\Facades\Location;
class PostController extends Controller
{
protected $fillable = [
'Uploader',
];
public function __construct()
{
return $this->middleware('auth');
}
public function create()
{
return view('post');
}
public function store(Request $request)
{
{
$post = new Post;
$post->title = $request->get('title');
$post->type = $request->get('type');
$post->description = $request->get('description');
$post->body = $request->get('body');
$post->UniqueId = str_random(16);
$post->Uploader = Auth::user()->name;
$post->Language = 'en';
$post->Location=Location::get()->countryCode;
$post->views = 0;
$post->Applauds = 0;
$post->Boos = 0;
$post->Tags = "hey";
if ($request->get('agegroup')) {
$post->agegroup = $request->get('agegroup');
} else {
$post->agegroup ='undefined';
}
$post->AllowComments = 'true';
$post->CommentsBg = 'default';
$post->Visibility = 'globally public';
$post->others = 'embeddable';
$post->save();
return redirect('posts');
}
}
public function index()
{
$posts = Post::all();
return view('index', compact('posts'));
}
public function show($id)
{
$post = Post::find($id);
return view('show', compact('post'));
}
}
CommentController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Comment;
use App\Post;
class CommentController extends Controller
{
public function store(Request $request)
{
$comment = new Comment;
$comment->body = $request->get('comment_body');
$comment->user()->associate($request->user());
$post = Post::find($request->get('post_id'));
$post->comments()->save($comment);
return back();
}
}
Web.php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('logout', '\App\Http\Controllers\Auth\LoginController@logout');
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/admin', 'AdminController@index')->name('admin');
Route::get('/upload', 'UploadController@index')->name('upload');
Route::get('/post/create', 'PostController@create')->name('post.create');
Route::post('/post/store', 'PostController@store')->name('post.store');
Route::get('/posts', 'PostController@index')->name('posts');
Route::get('/post/show/{id}', 'PostController@show')->name('post.show');
Route::post('/comment/store', 'CommentController@store')->name('comment.add');
Route::post('/reply/store', 'CommentController@replyStore')->name('reply.add');
Route::match(['get', 'post'], 'imageupload', 'ImageController@Image');
Route::delete('delimage/{filename}', 'ImageController@Image');
post.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Create Post</div>
<div class="card-body">
<form method="post" action="">
<div class="form-group">
@csrf
<label class="label">Post Title: </label>
<input type="text" name="title" class="form-control" required/>
</div>
<label class="label">Post Type </label>
<input type="text" name="type" class="form-control" required/>
<label class="label">Tags </label>
<input type="text" name="tags" class="form-control" required/>
<label class="label">Age-group(optional) </label>
<input type="text" name="agegroup" class="form-control" required/>
<div class="form-group">
<label class="label">Post Description </label>
<textarea name="description" rows="5" cols="20" class="form-control" required></textarea>
</div>
<div class="form-group">
<label class="label">Post Body: </label>
<textarea name="body" rows="10" cols="30" class="form-control" required></textarea>
</div>
<div class="form-group">
<input type="submit" class="btn btn-success" />
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
show.blade.php
<!-- show.blade.php -->
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-body">
<p><b></b></p>
<p>
</p>
<hr />
<h4>Display Comments</h4>
@foreach($post->comments as $comment)
<div class="display-comment">
<strong></strong>
<p></p>
</div>
@endforeach
<hr />
<h4>Add comment</h4>
<form method="post" action="">
@csrf
<div class="form-group">
<input type="text" name="comment_body" class="form-control" />
<input type="hidden" name="post_id" value="" />
</div>
<div class="form-group">
<input type="submit" class="btn btn-warning" value="Add Comment" />
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
index.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<table class="table table-striped">
<thead>
<th>ID</th>
<th>Title</th>
<th>Action</th>
</thead>
<tbody>
@foreach($posts as $post)
<tr>
<td></td>
<td></td>
<td>
<a href="" class="btn btn-primary">Show Post</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endsection
from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/2WIUVhq
via IFTTT
Allegiant Airlines Reservations Phone Number
RépondreSupprimerAllegiant Airlines Reservations Phone Number
Turkish Airlines Reservations Phone Number
Lufthansa Airlines Reservations Phone Number
KLM Airlines Reservations Phone Number
Hawaiian Airlines Reservations Phone Number
Jetblue Airlines Reservations Phone Number
alaska airlines Reservations Number
RépondreSupprimerallegiant airlines Reservations Number
emirates airlines Reservations Number
hawaiian airlines Reservations Number
jetblue-airlines-customer-service-number
jetblue airways reservations number
klm airlines reservations number
lufthansa airlines reservations number
qatar airways reservations number
spirit airlines reservations number
turkish airlines reservations number
delta airlines customer service number
united airlines reservations number
air canada reservations number
united airlines reservations number
RépondreSupprimerspirit airlines reservations number
spirit airlines reservations number