2016-08-01 82 views
0

我正在像一个社交媒体应用程序......但在我的控制器最后其他人,如果不工作状态上传。但文件和视频uload很好地工作。这是什么正确的格式。 这里是我的控制器Laravel控制器不工作状态不起作用

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')); 
     } 
     else if($validator->fails()) 
     { 
      $userStatus = new Status(); 
      $userStatus -> status_text = $text; 
      $userStatus -> type = 3; 
      $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() 
     ]); 
} 

在这个控制器 这个代码不工作

else if($validator->fails()) 
    { 
     $userStatus = new Status(); 
     $userStatus -> status_text = $text; 
     $userStatus -> type = 3; 
     $userStatus -> users_id = Auth::user()->id; 
     $userStatus -> save(); 

     Flash::success('Your status has been posted'); 
     return redirect(route('class')); 
    } 

回答

0

我注意到,你有两个

else if($validator->fails()) { 

} 

是否用$ validator->失败()返回一个BOOL?你能证实吗?

+0

else {user_id = new Status(); $ userStatus - > status_text = $ text; $ userStatus - > type = 3; $ userStatus - > users_id = Auth :: user() - > id; $ userStatus - > save(); Flash :: success('您的状态已发布'); return redirect(route('class')); }如果我给这样的话,它也不能正常工作...请你给我正确的格式.. – Shuvo

+0

你能回应结果$ validator-> failed()吗? – Ronald

+0

不,先生...我认为它不需要...我使用这个因为如果我使用其他,如果然后必须要条件多数民众赞成为什么我使用它。 – Shuvo