Cách thêm cột tùy chỉnh vào yajra/Laravel

Trong bài viết này, tôi muốn nói về thư viện bảng dữ liệu yajra/laravel” cung cấp cho chúng ta rất nhiều tiện ích khi tạo bảng. Với thư viện này, chúng tôi loại bỏ các truy vấn cơ sở dữ liệu phức tạp, thao tác phân trang và rắc rối khi tìm kiếm thông qua dữ liệu

Trước hết, nếu bạn chưa từng làm điều đó trước đây và bạn đang phàn nàn về công việc chậm chạp của nhà soạn nhạc, hãy bắt đầu bằng cách chuyển sang nhà soạn nhạc 2. 0 phiên bản. Hãy chạy mã bên dưới từ màn hình đầu cuối của bạn

#/bin/bash
_> composer self-update

Hãy tiếp tục dự án của chúng ta bằng cách thêm thư viện. Đối với dự án này, tôi sẽ sử dụng Laravel 8. phiên bản x. Nhưng thư viện đã được hỗ trợ đầy đủ kể từ Laravel 4. 2. Hãy bắt đầu

composer require yajra/laravel-datatables:^1.5

Chúng tôi đang thêm thư viện vào dự án của mình
* Ghi chú. Bạn có thể sử dụng Html, nút, v.v. trên dự án. Tôi đã cài đặt tất cả các gói như tôi sẽ giải thích trong phần bổ trợ. Cần có phần mở rộng ext-zip PHP cho thiết lập này. Bạn có thể sử dụng phiên bản kernel nếu muốn

composer require yajra/laravel-datatables-oracle:"~9.0"

Hãy tạo liên kết dịch vụ của chúng tôi

# config/app.php'providers' => [
    // ...
     Yajra\DataTables\DataTablesServiceProvider::class,
     Yajra\DataTables\HtmlServiceProvider::class,
     Yajra\DataTables\ButtonsServiceProvider::class,
     Yajra\DataTables\EditorServiceProvider::class,],

Để chuyển cài đặt và tệp, chúng tôi cần xuất bản

php artisan vendor:publish --tag=datatables
php artisan vendor:publish --tag=datatables-buttons

 

Bây giờ chúng ta có thể bắt đầu sử dụng thư viện của mình

Trước khi bắt đầu sử dụng thư viện, tôi sẽ sử dụng “factory design pattern” để quản lý các phần phụ thuộc dễ dàng hơn. Bạn có thể có thêm thông tin chi tiết về chủ đề này bằng cách nghiên cứu trước các mẫu thiết kế. Trước tiên, hãy tạo các thư mục của chúng tôi. Nó sẽ giống như thế này

|_ App
|__ Example
|--- Business
|---- Abstraction
|---- Concrete
|--- DataAccess
|---- Abstraction
|---- Concrete

Thay vì Ví dụ, bạn có thể tự đặt tên. Ví dụ, chúng ta sẽ tạo một danh sách Khách hàng. Trước hết, chúng tôi tạo một mô hình, di chuyển, nhà máy và trình gieo hạt cho nội dung demo

php artisan make:model Customers -mcsf-m : migration
-c : controller
-s : seeder
-f : factory

tệp di chuyển

Schema::create['customers', function [Blueprint $table] {
    $table->id[];
    $table->string['name'];
    $table->string['email'];
    $table->string['phone'];
    $table->string['slug']->unique[];
    $table->text['address'];
    $table->softDeletes[];
    $table->timestamps[];
}];

tệp gieo hạt

________số 8_______

nhà máy dosyası

$name = $this->faker->name;
return [
    'name'  => $name,
    'email' => $this->faker->unique[]->safeEmail,
    'phone' => $this->faker->phoneNumber,
    'slug' => Str::slug[ $name ],
    'address' =>  $this->faker->address
];

và sau đó sau khi nhập thông tin cơ sở dữ liệu trên. env

composer require yajra/laravel-datatables:^1.5
0

 

Bằng cách viết, chúng tôi sẽ thêm 500 khách hàng demo vào cơ sở dữ liệu của chúng tôi. Bây giờ chúng ta có thể thực hiện tất cả các thao tác liên quan đến thư viện

Trước tiên, hãy tạo tệp ICustomersService trong “Kinh doanh / Trừu tượng”, sau đó tạo tệp có tên là Trình quản lý khách hàng trong “Kinh doanh / Bê tông”

 

Hãy chỉnh sửa tệp ICustomerService như sau

composer require yajra/laravel-datatables:^1.5
1

Hãy tổ chức bên trong tệp CustomerManager như sau

composer require yajra/laravel-datatables:^1.5
2

Tiếp theo, hãy tạo hai tệp có tên ICustomersDataService và ClientDataManager trong lớp Dữ liệu. Hãy sắp xếp chúng như sau

composer require yajra/laravel-datatables:^1.5
3

 

Bây giờ, hãy xác định tuyến đường mà chúng tôi liệt kê các khách hàng

composer require yajra/laravel-datatables:^1.5
4

Bây giờ chúng ta có thể bắt đầu thêm vào Yajra

composer require yajra/laravel-datatables:^1.5
5

Trước hết, tập tin của chúng tôi sẽ trông như thế này

composer require yajra/laravel-datatables:^1.5
6

Tôi sẽ tóm tắt kết nối với Ajax vì tôi sẽ thực hiện Kết xuất phía máy chủ. Trước hết, chúng tôi sẽ phải thực hiện một số điều chỉnh. Chúng tôi tổ chức các tập tin như sau

 

composer require yajra/laravel-datatables:^1.5
7

 

Hãy giải thích nội dung của nó

composer require yajra/laravel-datatables:^1.5
8

Nếu chúng tôi muốn thêm một cột ngoài dữ liệu hiện có của mình, chúng tôi sẽ thêm phần này bằng addColumn. Tham số đầu tiên là đặt tên và tham số thứ hai đề cập đến nội dung của dữ liệu chúng tôi sẽ thêm vào cột này

composer require yajra/laravel-datatables:^1.5
9

Đây là phần tạo thành mẫu của bảng của chúng tôi

 

composer require yajra/laravel-datatables-oracle:"~9.0"
0

 

composer require yajra/laravel-datatables-oracle:"~9.0"
1

Bây giờ hãy sắp xếp trong Bộ điều khiển. Trước hết, hãy tạo màn hình View của chúng ta

composer require yajra/laravel-datatables-oracle:"~9.0"
2

Điều bạn nên chú ý ở đây là chúng ta đang gọi hàm kết xuất trên lớp CustomerDataTable mà chúng ta thêm dưới dạng phụ thuộc thay vì chế độ xem trả về [] mà chúng ta thường sử dụng. Bằng cách này, công chúng/ứng dụng/khách hàng/danh sách. lưỡi. php nói rằng nên chạy. Tôi chỉ thêm những phần liên quan đến dữ liệu vào lưỡi kiếm. Bạn sắp xếp nó theo chủ đề của bạn

 

composer require yajra/laravel-datatables-oracle:"~9.0"
3

Khi chúng ta truy cập /customers/list qua trình duyệt sẽ gặp lỗi như thế này

Laravel – Lỗi bộ định tuyến dữ liệu Yajra

Lý do của lỗi này là nó không thể truy cập tuyến đường chúng tôi đã đặt trong ajax. Bây giờ chúng ta sẽ chỉnh sửa phần đó. Chúng tôi đến phần mà công việc của chúng tôi đơn giản nhất, chúng tôi sắp xếp các tuyến/web của thư viện. php như sau

composer require yajra/laravel-datatables-oracle:"~9.0"
4

 

Bây giờ chúng tôi đang sắp xếp trong lớp kinh doanh

composer require yajra/laravel-datatables-oracle:"~9.0"
5

Tiếp theo là chỉnh sửa lớp Dữ liệu

composer require yajra/laravel-datatables-oracle:"~9.0"
6

 

Như bạn có thể thấy, việc thêm giới hạn cho truy vấn để phân trang và truyền số trang hoàn toàn giúp chúng tôi không phải viết các biểu thức chẳng hạn như đối với từ được tìm kiếm, chúng tôi chỉ cần gửi nó đến thư viện mô hình của mình, phần còn lại sẽ lo. ] Hãy làm mới trang của chúng tôi và xem kết quả

  • composer require yajra/laravel-datatables-oracle:"~9.0"
    7

chúng tôi đã nhận lỗi. Lý do cho điều này là chúng tôi đã không chỉ định lớp nào mà các giao diện chúng tôi sử dụng trong lớp Công việc và Dữ liệu phụ thuộc vào. Trong đó

composer require yajra/laravel-datatables-oracle:"~9.0"
8

Sau đó, chúng tôi xác định nhà cung cấp cho hệ thống

composer require yajra/laravel-datatables-oracle:"~9.0"
9

và sau đó chúng tôi tạo kết nối với phần nhà cung cấp. Để biết chi tiết, bạn có thể xem lại phần của nhà cung cấp từ tài liệu của Laravel

# config/app.php'providers' => [
    // ...
     Yajra\DataTables\DataTablesServiceProvider::class,
     Yajra\DataTables\HtmlServiceProvider::class,
     Yajra\DataTables\ButtonsServiceProvider::class,
     Yajra\DataTables\EditorServiceProvider::class,],
0

Bằng cách này, chúng tôi xóa các định nghĩa và bộ đệm được tạo tự động sau khi chúng được liên kết với nhau

Làm cách nào để thêm cột mới vào datatable trong Laravel?

Bạn có thể thêm cột tùy chỉnh vào phản hồi của mình bằng cách sử dụng api addColumn. .
các cột được thêm vào được coi là các cột được tính toán và không phải là một phần của cơ sở dữ liệu. .
Bạn có thể sử dụng chế độ xem để hiển thị cột đã thêm của mình bằng cách chuyển đường dẫn chế độ xem làm đối số thứ hai trên addColumn api

Làm cách nào để hiển thị dữ liệu mối quan hệ vào bảng dữ liệu yajra?

Hãy thực hiện các bước sau [trước khi thực hiện các bước này, hãy tạo CRUD của bạn với các bảng dữ liệu cho mô hình Bài đăng]. .
Bước 1. Thêm mối quan hệ tác giả vào mô hình Bài đăng. Vì chúng tôi muốn hiển thị tên tác giả của bài đăng, hãy thêm mối quan hệ tác giả vào Bài đăng. tác giả chức năng công cộng php[].
Bước 2. Sửa PostDataTable

Làm cách nào để sử dụng bảng dữ liệu yajra trong laravel 9?

Hướng dẫn về bảng dữ liệu phía máy chủ Laravel 9 Yajra .
Bước 1. Cài đặt dự án Laravel. .
Bước 2. Cấu hình chi tiết cơ sở dữ liệu. .
Bước 3. Cài đặt Yajra Datatables. .
Bước 4. Tạo dữ liệu giả. .
Bước 5. Thêm tuyến đường. .
Bước 6. Tạo bộ điều khiển. .
Bước 7. Tạo tập tin lưỡi dao

Yajra Datatables trong laravel là gì?

Tôi tự hỏi nếu bạn chưa nghe nói về thư viện Yajra Datatables, đó là API DataTables jQuery cho Laravel 4. 5. 6. 7. Plugin này xử lý các công việc phía máy chủ của plugin DataTables jQuery thông qua tùy chọn AJAX bằng cách xem xét ORM Eloquent, Trình tạo truy vấn thông thạo hoặc Bộ sưu tập

Chủ Đề