Yêu cầu thg 10 7, 2022 3:15 SA 138 0 4
  • 138 0 4
0

Thêm dữ liệu vào validated()

Chia sẻ
  • 138 0 4

em đang có cái request form như vậy!

if (request()->method() === 'POST') {
            return [
                'name' => 'required|min:3|unique:tbl_role',
                'activated' => ''
            ];
        }
        $id = request()->route()->roleModel->id;
        request()->mergeIfMissing(['activated' => 0]);
        return [
            'name' => 'required|min:3|unique:tbl_role,name,' . $id,
            'activated' => ''
        ];

và bên controller

public function update(RoleRequest $request, RoleModel $roleModel)
    {
        dd($request->validated());
        if ($roleModel->update($request->validated())) {
            return response()->json([
                'statusCode' => '200',
                'href' => route('role.index')
            ]);
        }
    }

Cho em hỏi làm thế nào để chèn thêm data vào validated() bên controller ạ! actived của em là input check có value bằng 1 khi được chọn Em cảm ơn

4 CÂU TRẢ LỜI


Đã trả lời thg 10 10, 2022 8:37 SA
Đã được chấp nhận
0

đè lại hàm validated

function validated()
{
    $data = parent:validated();
   //your logic
}
Chia sẻ
Đã trả lời thg 10 7, 2022 6:18 SA
0

Ý bạn là muốn chỉnh sửa dữ liệu gửi lên trược khi gọi hàm validated()?

Chia sẻ
Avatar June @phuocbt698
thg 10 7, 2022 8:27 SA

Đúng rồi anh , validated nó chỉ chứa những field đã vượt qua rule ấy, giờ có cách nào để add thêm field ở bên function rule ko ạ, để bên controller em chỉ cần gọi đến validated để lấy toàn bộ ạ

thg 10 11, 2022 9:35 SA

@phuocbt698 nếu bạn muốn chỉnh sửa request trước khi bắt đầu chạy rule đó thì bạn có thể tham khảo cái này https://laravel.com/docs/9.x/validation#preparing-input-for-validation

Đã trả lời thg 10 7, 2022 8:22 SA
0

Data khi validate xong nó là 1 mảng, bạn cứ nhét thêm key với value là được mà nhỉ. Mà đã có class RoleRequest rồi thì mình xài $request->all() cũng được bạn ạ.Ví dụ

$attributes = $request->all();
$attributes[key] = value;
Chia sẻ
Avatar June @phuocbt698
thg 10 7, 2022 9:09 SA

như vậy em làm được! em đang thắc mắc em muốn add nó vào trong $request ở trong hàm rule anh ạ! em có làm thử như code trên của em thì dd thì vẫn có dữ liệu trước khi return ! nhưng bên controller thì em gọi ra thì lại ko có

Đã trả lời thg 10 7, 2022 12:01 CH
0

Bạn thử tham khảo đây stackoverflow xem đúng ý bạn không nhé:

$request->merge([
    'key' => 'value',
]);
Chia sẻ
Avatar June @phuocbt698
thg 10 7, 2022 12:24 CH

dạ em cảm ơn

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí