知っておいていただきたいこと – 3
- 2022年4月29日
- 技術情報
今回も、Laravelの知っておいた方がいいとおもったことをいくつか紹介します。
Tip # Laravel #exclude
入力を受け付けると、そのデータを使ってモデルを作りたいと思うことがよくあります。
例えば、登録フォームはUserモデルを作成するために使われるでしょう。しかし、すべてのフィールドを検証する必要がある一方で、モデルを作成するためにすべてのフィールドを必要としないかもしれません。このような場合、「exclude」ルールを使用します。
class StoreRequest extends FormRequest
{
public function rules(){
return [
'name' => 'required|string',
'email_address' => 'required|string|email',
'terms_and_conditions' => 'required|accepted|exclude',
];
}
}
exclude’ ルールを使用すると、Laravel は ‘terms_and_conditions’ フィールドが全てのバリデーションルールをパスすることを保証しますが、 ‘validate’ または ‘validated’ メソッドによって返されるわけではありません。これにより、DBに’terms_and_conditions’のカラムがないことを気にせずに、簡単にモデルを作ることができます。
class RegistrationController extends Controller
{
public function store(StoreRequest $request)
{
$playload = $request->validate(); //名とメールだけ
$user = User::create($playload);
Auth::login($user);
return redirect()->route('dashboard');
}
}
ということで、今回はこれで終わります。
金曜担当 – Ami
asahi at 2022年04月29日 10:00:00