Quay lại

Convert request parameters to boolean trong Laravel Chuyên mục PHP và Laravel    2023-07-30    1.3k Lượt xem    99 Lượt thích    comment-3 Created with Sketch Beta. 0 Bình luận

Convert request parameters to boolean trong Laravel

Đôi khi, bạn có thể muốn chuyển đổi một số request parameters thành boolean. Chẳng hạn, lấy một checkbox field. Trừ khi và cho đến khi nó chưa được kiểm tra, nó sẽ không được chuyển đến request. Trong trường hợp như vậy, sẽ có lợi nếu chuyển đổi các đầu vào đó thành boolean.

Laravel 6.x có một phương thức tiện ích trợ giúp như vậy trong Illuminate\Http\Request có tên là boolean($key) lấy tên đầu vào là một $key và trả về một giá trị boolean tương đương cho cùng một giá trị. Nó làm như vậy bằng cách lấy đầu vào bằng phương thức input() và lọc nó qua filter_varFILTER_VALIDATE_BOOLEAN.

Dưới đây là một số ví dụ về cách bạn có thể sử dụng điều này.

// checkbox
Request::boolean('available_for_hire'); 
// true if checked
// false if not checked

// string - Yes/No
Request::boolean('is_active');
// true for 'Yes'
// false for 'No'

Ở đây, available_for_hire có thể là checkbox field hoặc string input, chuyển nó qua boolean() sẽ trả về giá trị boolean dựa trên bộ lọc biến FILTER_VALIDATE_BOOLEAN.

Phương thức này đặt giá trị mặc định là false để biến không xác định (ví dụ: checkbox field không được chọn) sẽ đóng vai trò là false. tức là nếu không tìm thấy key trong input request , false sẽ được trả về.

Nhưng điều đó cũng có thể tùy chỉnh. Vì vậy, nếu bạn muốn giá trị mặc định của một trường là đúng khi nó chưa được xác định, đây là cách bạn có thể thực hiện.

Request::boolean('is_active', true);

Đây là cách phương thức boolean() xử lý.

/**
 * Retrieve input as a boolean value.
 *
 * @param  string|null  $key
 * @param  bool  $default
 * @return bool
 */
public function boolean($key = null, $default = false)
{
     return filter_var(
          $this->input($key, $default), 
          FILTER_VALIDATE_BOOLEAN
     );
}

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday