At first i used a route and a controller to post status vedio link upload file comments. This is the route and controller
Here is my route:
Route::any('/class',[
'uses'=> 'classroom@getclass',
'as'=>'class',
]);
Here is my controller:
public function getclass(Request $request)
{
if (Input::has('post_comment'))
{
$status=Input::get('post_comment');
$commentBox=Input::get('comment_text');
$selectedStatus=Status::find($status);
$selectedStatus->comments()->create([
'comment_text'=>$commentBox,
'user_id'=>Auth::user()->id,
'status_id'=>$status
]);
Flash::message('Your comments has been posted');
return redirect(route('class'));
}
if(Input::has('status-text'))
{
$text=e(Input::get('status-text'));
$rules = [
'status_text'=>'required|string',
];
$validator = Validator::make($request->all(), $rules);
if(Input::hasFile('status_image_upload'))
{
$rules['status_image_upload'] = 'image';
$validator = Validator::make($request->all(), $rules);
if($validator->fails())
{
$image = $request->file('status_image_upload');
$imageName = str_random(8).'_'.$image->getClientOriginalName();
$image->move('status_images', $imageName);
$userStatus = new Status();
$userStatus -> status_text = $text;
$userStatus -> image_url = $imageName;
$userStatus -> type = 1;
$userStatus -> users_id = Auth::user()->id;
$userStatus -> save();
Flash::success('Your status has been posted');
return redirect(route('class'));
}
}
else if ($validator->fails())
{
$userStatus = new Status();
$userStatus -> status_text = $text;
$userStatus -> video_url = $request['video_url'];
$userStatus -> type = 2;
$userStatus -> users_id = Auth::user()->id;
$userStatus -> save();
Flash::success('Your status has been posted');
return redirect(route('class'));
}
}
return view('class',[
'posts'=>status::orderBy('id','DESC')->get()
]);}
This position its works nice.
But now i face the problem when i use another route and another controller.
Here is my problem route:
Route::post('/class',[
'uses'=>'classroomdata@showclassdata',
'as'=>'createclass',]);
And my controller:
public function showclassdata(Request $request)
{
$randomnumber = rand(50001,1000000);
$classrooms = new Classrooms();
$classrooms->class_name = $request['class_name'];
$classrooms->subject_name = $request['subject_name'];
$classrooms->section = $request['section'];
$classrooms->class_code = $randomnumber;
$classrooms -> user_id = Auth::user()->id;
$classrooms -> save();
return view('class');
}
At this moment my problem is data inserted.I have an error that error is: Undefined variable: posts (View: C:\xampp\htdocs\myproject11\resources\views\class.blade.php)
Why i face that issue ?
解决方案
According to your second comment, you are returning view without 'posts' in showclassdata method.
Comparison
getclass method:
return view('class',[
'posts'=>status::orderBy('id','DESC')->get()
]);}
showclassdata method:
return view('class');
That's why you are reciving the error.
The solution is return in showclassdata method your posts with view.