Modelsで、validateOnSaveというバリデーションルールのメソッドを作成し、StaffController.phpでよび出したいのですが、うまく行きません。
Call to a member function fails() on array
というエラーメッセージが表示されているので、StaffController.phpにオブジェクトが存在していないのが原因だと思うのですが、Modelsで作成したメソッドをどのように呼び出せば良いのかがわかりません。
以下、作成したコードです。
server/app/Models/Staff.php
public function validation() { return [ 'name' => 'required|string', 'age' => 'numeric|digits_between:1,2', ]; }
server/app/Http/Controllers/StaffController.php
public function edit($id) { $staff = Staff::find($id); return view('staff.edit', ["staff" => $staff]); } public function update(Request $request, $id) { $staff = Staff::find($id); $validation = $staff->validation($request); if ($validation->fails()) { return redirect()->back() ->withErrors($validator) ->withInput(); } else { return redirect()->action('StaffController@index'); } }
アドバイスお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。