Làm cách nào để thực hiện tìm kiếm nhiều bộ lọc trong laravel 8?

Laravel Filters là một gói dựa trên video Laracasts được thực hiện bởi JeffreyWay. Gói này cho phép lọc các mô hình hùng hồn một cách rõ ràng và đơn giản

Cài đặt

  1. Cài đặt gói qua Composer

    $ composer require tiagomichaelsousa/laravelfilters

    Gói cước sẽ tự động đăng ký nhà cung cấp dịch vụ

  2. Tùy chọn, xuất bản tệp cấu hình nếu bạn muốn thay đổi bất kỳ giá trị mặc định nào

    php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"

Cách sử dụng

Tạo bộ lọc

$ php artisan make:filter <name>

Lệnh này sẽ tạo một lớp bộ lọc mới trong không gian tên được xác định trên tệp cấu hình

Cập nhật Mô hình Eloquent của bạn

Các mô hình của bạn nên sử dụng đặc điểm Có thể lọc, có hai phạm vi

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
2 và
php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
3

use tiagomichaelsousa\LaravelFilters\Traits\Filterable;

class User extends Authenticatable
{
    use Filterable;
}

Phương thức

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
2 nhận trình tạo truy vấn và thể hiện của lớp chịu trách nhiệm về các phương thức lọc

Phương pháp

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
3 hoạt động như một người trợ giúp. Nó xác minh xem yêu cầu có chuỗi truy vấn
php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
6 hay không và nếu có, nó sẽ trả về phản hồi có phân trang, nếu không, nó sẽ trả về dữ liệu

Tạo bộ lọc của bạn

Khi bạn đưa ra yêu cầu tới một điểm cuối, lớp

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
7 (mà
php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
8 mở rộng từ đó) sẽ xác minh xem có bất kỳ phương thức nào có tên mà bạn đã gửi trong chuỗi truy vấn yêu cầu hay không

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
9 đi kèm với phương thức tìm kiếm mặc định mà bạn có thể xóa nếu muốn. Khi bạn đưa ra yêu cầu đối với
$ php artisan make:filter <name>
0, lớp
php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
7 sẽ gọi phương thức tìm kiếm vì khóa
$ php artisan make:filter <name>
2 có trong cả yêu cầu và lớp
php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
8

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
6

Phương thức tìm kiếm áp dụng các truy vấn cho phiên bản trình tạo. Như đã nói, bạn có thể kết hợp nhiều mệnh đề. Ví dụ: nếu bạn muốn phương thức tìm kiếm lọc dữ liệu từ các trường

$ php artisan make:filter <name>
4 và
$ php artisan make:filter <name>
5 trên db, chỉ cần thêm mệnh đề
$ php artisan make:filter <name>
6

$ php artisan make:filter <name>
0

Nếu bạn muốn thêm nhiều bộ lọc hơn, chỉ cần thêm một phương thức mới vào lớp, đặt logic cho bộ lọc và gửi nó qua chuỗi truy vấn yêu cầu

Bạn cũng có thể lọc dữ liệu thông qua các mối quan hệ hùng hồn. Ví dụ: lọc người dùng từ mã quốc gia

$ php artisan make:filter <name>
7

$ php artisan make:filter <name>
2

Cập nhật bộ điều khiển của bạn

$ php artisan make:filter <name>
3

Phương thức

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
2 có thể được gọi trong mọi trường hợp của mô hình sử dụng Đặc điểm
$ php artisan make:filter <name>
9. Vì vậy, hãy tưởng tượng rằng bạn có một Cuộc họp mô hình và Cuộc họp này có nhiều người dùng. Bạn có thể lọc người dùng khỏi Cuộc họp theo cách này

$ php artisan make:filter <name>
6

Một bộ lọc cũng có thể được khởi tạo bằng cách cung cấp một mảng kết hợp

$ php artisan make:filter <name>
7

Thay đổi nhật ký

Vui lòng xem nhật ký thay đổi để biết thêm thông tin về những thay đổi gần đây

thử nghiệm

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
0

Với phạm vi kiểm tra

php artisan vendor:publish --provider="tiagomichaelsousa\LaravelFilters\LaravelFiltersServiceProvider" --tag="config"
1

Đóng góp

Xin vui lòng xem đóng góp. md để biết chi tiết và một todolist

Bảo vệ

Nếu bạn phát hiện ra bất kỳ vấn đề nào liên quan đến bảo mật, vui lòng gửi email cho tác giả thay vì sử dụng trình theo dõi vấn đề

Làm cách nào để áp dụng nhiều bộ lọc trong laravel?

Bạn có hai lựa chọn. .
HOẶC sử dụng orWhere(). Kiểu mẫu. truy vấn()->where([])->orWhere([])->get();
AND using 2nd array : Model::query()->where([['column1' , '!=' , ' value1'] , ['column2' , '=' , 'value2'] , ['column3' , '<' , 'value3']])->get();.

Làm cách nào để sử dụng bộ lọc tìm kiếm trong Laravel 8?

Các bước sau đây có liên quan để tạo bộ lọc và sắp xếp cho bảng quản trị Laravel của chúng tôi. .
Triển khai bộ lọc tìm kiếm. 1. 1 Thêm trường tìm kiếm trong chế độ xem chỉ mục. 1. 2 Thêm bộ lọc nơi điều kiện trên bộ điều khiển
Thực hiện sắp xếp cột. 2. 1 Thêm một liên kết sắp xếp trong dạng xem. 2. 2 Thêm thứ tự theo trong Truy vấn

Làm cách nào để tìm kiếm dữ liệu trong Laravel 8?

Thêm thuộc tính giá trị và đặt nó thành khóa tìm kiếm trong nội dung yêu cầu. .
gõ = "tìm kiếm"
class="form-control"
placeholder="Tìm người dùng tại đây"
tên = "tìm kiếm"
value="{{ request('search') }}"

Làm cách nào để tạo một thanh tìm kiếm trong laravel?

Tạo hộp tìm kiếm Laravel với kết quả trực tiếp bằng AJAX jQuery .
điều kiện tiên quyết
Cần Laravel Live Search
Đặt thông tin xác thực cơ sở dữ liệu trong. env
Tạo di chuyển
Tạo bộ điều khiển
Thiết lập tuyến đường
Kiểm tra thanh tìm kiếm Live Laravel
Phần kết luận