larvel 路由未生效_路由或控制器在Laravel 5.2中不起作用

bd96500e110b49cbb3cd949968f18be7.png

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值