2017-10-02 4 views
0

私は少し問題がある、私は私のlaravelプロジェクトに検証(試してキャッチ)を追加しようとしている、問題はいくつかのコントローラでうまく動作しますが、特定の動作しません、検証は、ページを読み込もうとして何かが間違っている場合、アプリケーションはメッセージを持つ別の安定したページにリダイレクトされます。ここに私のコードだ:試してキャッチlaravelそれは私のために働いていない

public function info($id) 
{ 
    try { 
     $likes = $this->interactionAndUser($id)[0]; 
     $dislikes = $this->interactionAndUser($id)[1]; 
     $downloads = $this->interactionAndUser($id)[4]; 
     $favorite = $this->interactionAndUser($id)[5]; 
     $myLike= $this->interactionAndUser($id)[2]; 
     $myDisLike = $this->interactionAndUser($id)[3]; 
     $book = $this->interactionAndUser($id)[6]; 
     $fileExistEpub = $this->interactionAndUser($id)[9]; 
     $fileExistPdf = $this->interactionAndUser($id)[10]; 
     $books = Book::find($id); 
     $forum = Forum::where('book_id', $id)->first(); 
     $forumId = $forum->id; 
     $forumTheme = $forum->theme_id; 
     $forumHasTheme = Theme::where('id', $forumTheme)->first(); 
     $comments = Comment::where(['forum_id' => $forumId, 'comment_id' => null]) 
     ->paginate(5); 
     if(Cache::has($id)==false) { // Si el ID tiene un valor falso o 0 para el cache, agregue 1 
      Cache::add($id, 'contador', 0.05); // Cada 0.05 segundos se contara una nueva visita por usuario, que recargue la pagina 
      $book->views+=1; 
      $book->save(); 
     } 
     return view('books/info', compact('books', 'book', 'likes', 'dislikes', 'favorite', 'downloads', 'myLike', 'myDisLike', 'forum', 'forumHasTheme', 'comments', 'fileExistEpub', 'fileExistPdf')); 
    } catch (\Exception $e) { 
     return redirect('books')->with('errors', 'Ha ocurrido un errror, lo sentimos'); 
    } 
    } -> This code work perfectly 

あなたが見ることができるように、Laravelの例外の簡単な検証で何かが間違っていた、ユーザーが別の安定したページにリダイレクトされる場合、これは、うまく機能し、コードのこの作品は、 BookControllerというコントローラーでは、問題はFrontControllerであり、別の関数は、検証をパスしようとすると、ユーザーを安定したページにリダイレクトしません。ここに私のコード

public function info_novelty($id) 
    { 
    try { 
     $novelty = Novelty::find($id); 
     return view('news.show', compact('novelty')); 
    } catch (\Exception $e) { 
     return redirect('noticias')->with('errors', 'Ha ocurrido un errror, lo sentimos'); 
    } 
    } -> This validation doesn't work 

私は、誰かが私を助けることができる場合は、これをなぜ起こるか、私は本当にgratefull

だろう、これは私がそれを

を得たエラーであるかわかりません非オブジェクトのプロパティを取得しようとすると(ビュー:/home/vagrant/Code/Biblio/resources/views/news/show.blade.php)

答えて

1

はあなたが確認するためにfindOrFail()メソッドを使用することができます指定されたidのリソースが見つからない場合は例外がスローされます。

リソースが見つからない場合は、あなたのコードは、特にそれを探すことができますので、findOrFail()方法は、ModelNotFoundExceptionがスローされます。

try { 
     $novelty = Novelty::findOrFail($id); 
     return view('news.show', compact('novelty')); 
    } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { 
     // return more specific error message 
    } catch (\Exception $e) { 
     return redirect('noticias')->with('errors', 'Ha ocurrido un errror, lo sentimos'); 
    } 
+0

をあなたは英雄、人間、おかげでたくさんです! –

関連する問題