2017-10-10 15 views
0

誰もが何日か前に、$ idを渡す関数でTry and Catchの可能な解決法を尋ねましたが、今、私は同様の問題を抱えています。私のアプリケーションのAdmin Panelからアップロードされたファイル(PDF)があるので、管理者がそのファイル(PDF)を削除しようとしましたが、ユーザーがそのファイルを削除しようとしました。 PDFがアップロードされずに利用規約のページが表示された場合、システムは自宅のように他のページにリダイレクトされます。私は、ファイルを削除すると、私はこのエラーを得た、

public function terms() 
    { 
    try { 
     $terms = Multimedia::where('multimedia_type', 'terms')->first(); 
     return view('terms.terms', compact('terms')); 
    } catch (\Exception $e) { 
     return redirect('/')->with('errors', 'Ha ocurrido un errror, lo sentimos'); 
    } 
    } 

:しかし

(2/2) ErrorException Trying to get property of non-object (View: /home/vagrant/Code/Biblio/resources/views/terms/terms.blade.php)

を、システムが他のページにリダイレクトされませんでした、これは私のコードです。誰かが助けることができるなら、私は本当に感謝します

+0

terms.blade.phpにはどのようなコードがありますか? –

答えて

1

エラーは、ブレードテンプレートから来ています。このファイルが存在しない場合は、try catchの外に出ます。 PHPはnullをテンプレートに渡していることを前提としています。これを処理する

は、次の操作を実行できます。

if($terms) { 
    return view('terms.terms', compact('terms')); 
} else { 
    return redirect('/')->with('errors', 'Ha ocurrido un errror, lo sentimos'); 
} 

注意、あなたが既に持っているとしてだけ$termsを宣言トライキャッチの機能で、この外側を行うことができます。

+0

これは正しい答えです、ありがとう、あなたは本当に私を助けます! –

関連する問題