3

質問があります。現在、Laravel 5.3 を使用して小さなサイトを開発しており、ユーザーが登録してログインするためにそれらの基本認証を使用しています。

今、私は次のことを望んでいます:誰もが登録してログインできますが、(管理者として)ボタンをクリックすると、特定のユーザーを「ブロック」できます(たとえば、許可されていないことをした場合)、完全に削除しませんただし、ユーザーがログインしようとすると、「これ以上ログインできません。アカウントがブロックされています。詳細については、管理者に連絡してください」などのメッセージが表示されるようにしてください。質問は次のとおりです。これを行う最善の方法は何ですか? 組み込みのものが見つかりませんでした。間違っている場合は修正してください...もちろん、ユーザーテーブルを変更して「ブロック済み」という列を追加し、通常はfalseに設定してから、ボタンを使用してtrue で、何らかの方法でログインするときにこの値をチェックし、(true の場合) このメッセージを表示してログインを許可しません。これはこれを行うための最良の方法ですか?はいの場合、この値をどこで確認する必要があり、どのようにメッセージを表示できますか? そうでない場合、より良い方法は何ですか?

4

5 に答える 5

1

ソフト削除機能を使用できます。

データベースからレコードを実際に削除するだけでなく、Eloquent はモデルを「ソフト削除」することもできます。モデルが論理的に削除される場合、実際にはデータベースから削除されません。代わりに、deleted_at 属性がモデルに設定され、データベースに挿入されます。モデルにnull以外のdeleted_at値がある場合、モデルは論理的に削除されています。

于 2016-11-16T16:06:44.963 に答える