私は小さな問題があります。 2つのユーザー役割があり、1つは通常のメンバーであり、もう1つは管理者です。メンバーはブログを削除することができ、ブログがソフト削除されても管理者がブログを閲覧できる間に、ブログを削除(ソフト削除)した後でブログを閲覧することはできません。Laravel - ソフト削除されたデータを使った暗黙のルートモデルバインド
例コード:
// Route file
Route::get('/blog/{blog}', '[email protected]');
// BlogController
public function show(App\Blog $blog) {
// It never gets to here if the blog has been soft deleted...
// Automatically throws an 404 exception
}
私は管理者は、それがソフト削除されます場合でも、ブログを閲覧できるようにしたいが、それは実際に動作しません。私はルートサービスプロバイダーを編集しようとしていますが、私はAuth::user()
機能を使用してログインしたユーザーを取得させないようにしているので、私は彼らに許可があるかどうかを確認できます。
マイRouteServiceProvider
$router->bind('post', function($post) {
if (Auth::user()->isAdmin()
return Post::withTrashed()->where('id', $post)->firstOrFail();
});
それはAuth::user()
が何であるかを知らないので、これは動作しません。私はAuth
ファサードを輸入しましたが、まだ動作しません。
編集:ダンプして死ぬと私にはnull
の値が与えられますAuth::user()
。
ご協力いただきまして誠にありがとうございます。
を意味し、「それは私がすることはできません」んか?エラーメッセージ、 ... ? – Nick
申し訳ありませんが、私は質問を更新しました。しかし、それはちょうどnullと言うnullの関数を確認することはできません.. –