sách gpt4 ăn đã đi

Mã triển khai của hàm GridView của tiện ích Yii2.0 (truy vấn/tìm kiếm/phân trang chung hai bảng)

In lại Tác giả: qq735679552 Thời gian cập nhật: 28-09-2022 22:32:09 25 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Mã triển khai chức năng GridView (truy vấn/tìm kiếm/phân trang) của tiện ích Yii2.0 CFSDN này được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

 GridView hai bảng truy vấn/tìm kiếm/phân trang chung.

Khi chúng tôi hiển thị dữ liệu hoạt động ở chế độ xem dạng lưới, bạn có thể gặp phải tình huống này là hiển thị giá trị của các cột của bảng liên quan. Để có thể sắp xếp các cột liên quan, bạn cần kết nối. các bảng liên quan và thêm quy tắc sắp xếp vào Trong thành phần sắp xếp của nhà cung cấp dữ liệu, dữ liệu được tìm kiếm và sắp xếp.

Ⅰ.Controller layerController.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
không gian tên bộ điều khiển\phần cuối;
tiêu đề( "Kiểu nội dung:text/html;charset=utf-8" );
sử dụng Cái này;
sử dụng yii\web\Bộ điều khiển; //Lớp siêu điều khiển
sử dụng backend\models\BooksInfo; // Lớp mô hình bảng
sử dụng backend\models\InfoSearch; //Giới thiệu lớp Model tìm kiếm
sử dụng yii\data\ActiveDataProvider; //Lớp nguồn dữ liệu widget
sử dụng yii\grid\GridView; // Tiện ích truy vấn
/**
  *@abstract BooksController
  *@tác giả NING <[email ning@163.com]>
  *@version [phiên bản 1.0] [Quản lý sách]
  */
lớp học Bộ điều khiển thông tin sách mở rộng Bộ điều khiển
{
 
  //danh sách sách
  công cộng chức năng hành độngIndex()
  {
  $tìm kiếmMô hình = mới Tìm kiếm thông tin(); // Khởi tạo searchModel[searchModel]
  nếu như (! trống ( $_NHẬN [ 'Tìm kiếm thông tin' ])){
   $getTìm kiếm = Cái này:: $ứng dụng ->yêu cầu->lấy(); // nhận trường tìm kiếm
   $dữ liệu = $tìm kiếmMô hình ->tìm kiếm( $getTìm kiếm );
  } khác {
   //dữ liệu truy vấn widget
   $dữ liệu = mới Nhà cung cấp dữ liệu hoạt động([
     'truy vấn' => BooksInfo::tìm(), //Truy vấn dữ liệu
     'phân trang' => [
       'Kích thước trang' => 2, //Hiển thị số mục trên mỗi trang
     ],
     'loại' => [
       'mặc định' => [
         // 'created_at' => SẮP XẾP_GIẢM,
         'nhận dạng' => SẮP XẾP_TĂNG, //[Trường]Đặt sắp xếp·
       ]
     ],
   ]);
  }
  //Gửi dữ liệu truy vấn và mô hình tìm kiếm
  trở lại $cái này ->kết xuất( 'chỉ số' ,[ 'dữ liệu' => $dữ liệu , 'tìm kiếm mô hình' => $tìm kiếmMô hình ]);
  }
?>

Ⅱ Truy vấn lớp mô hình Model.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
không gian tên backend\models;
sử dụng Cái này;
sử dụng yii\db\ActiveRecord;
/**
  *@abstract [Mẫu Sách]
  *@tác giả NING <[email ning@163.com]>
  *@version [vector 1.0] [mô hình chi tiết sách]
  */
lớp học Thông tin Sách mở rộng ActiveRecord
{
  /**
    * @set tên bảng
    */
   công cộng tĩnh chức năng tên bảng()
   {
     trở lại '{{%books_info}}' ;
   }
   //Bảng kết hợp
   công cộng chức năng Lấy loại sách(){
     // hasOne yêu cầu trả về hai tham số. Tham số đầu tiên là tên lớp của bảng được liên kết. Tham số thứ hai là mối quan hệ giữa hai bảng.
     // Ở đây id là id của bảng books_type, liên kết với type_id của bảng books_info
     trở lại $cái này ->hasOne(BooksType::className(), [ 'nhận dạng' => 'kiểu_id' ]);
   }
  công cộng chức năng thuộc tínhNhãn()
  {
  trở lại [
   'nhận dạng' => 'NHẬN DẠNG' ,
   'tên_sách' => 'Tên sách' ,
   'mặt_sách' => 'bìa sách' ,
   'kiểu_id' => 'ID danh mục sách' ,
   'tên_kiểu' => 'Phân loại sách' ,
  ];
  }
}
?>

Ⅲ Tìm kiếm lớp mô hình.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
không gian tên backend\models; //không gian tên
sử dụng Cái này;
sử dụng this\base\Model; //Giới thiệu Model lớp cơ sở
sử dụng yii\data\ActiveDataProvider;  //Giới thiệu lớp nguồn dữ liệu
/**
  *@abstract [Mô hình tìm kiếm]
  *@return [kiểu]
  *@tác giả NING <[email ning@163.com]>
  */
// Lưu ý: Những gì được kế thừa ở đây là truy vấn Model--->BooksInfo
lớp học Tìm kiếm thông tin mở rộng Thông tin Sách
{
   công cộng $type_tên ; //Định nghĩa các biến thuộc tính
   // Chỉ có thể tìm kiếm các trường được khai báo trong hàm Rules()
   công cộng chức năng rules()
   {
     trở lại [
       // [['tên_sách','tên_loại'], 'an toàn'],
       [[ 'tên_kiểu' ], 'an toàn' ],
     ];
   }
   công cộng chức năng các kịch bản()
   {
     // Bỏ qua hàm script() được triển khai trong lớp cha
     trở lại Mô hình::kịch bản();
   }
   công cộng chức năng tìm kiếm( $tham số )
   {
     $truy vấn = BooksInfo::tìm();
     $ Nhà cung cấp dữ liệu = mới Nhà cung cấp dữ liệu hoạt động([
       'truy vấn' => $truy vấn ,
       'phân trang' => [
         'Kích thước trang' => 1,
       ],
     ]);
     /*Danh mục bài viết ở đây là tên phương thức được liên kết trong mô hình bài viết, ngoại trừ chữ cái đầu tiên, mọi thứ khác phải giống hệt nhau, nếu không sẽ báo lỗi*/
     $truy vấn ->tham giaVới([ 'kiểu sách' ]);
     //Tải điều kiện lọc từ dữ liệu tham số và xác minh
     nếu như (!( $cái này ->tải( $tham số ) && $cái này ->xác thực())) {
       trở lại $ Nhà cung cấp dữ liệu ;
     }
     //Thêm điều kiện lọc để điều chỉnh đối tượng truy vấn
     $truy vấn ->vàBộ lọcỞđâu([ 'like' , 'tên_sách' , $cái này ->tên_sách]);
     //Thêm điều kiện lọc trường liên quan [Lưu ý: books_type trong books_type.type_name ở đây là tên bảng phân loại]
     $truy vấn ->vàBộ lọcỞđâu([ 'like' , 'kiểu_sách.tên_kiểu' , $cái này ->tên_loại]);
     trở lại $ Nhà cung cấp dữ liệu ;
   }
}
?>

Ⅳ. Xem lớp Xem.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
sử dụng yii\grid\GridView;
sử dụng yii\data\ActiveDataProvider;
sử dụng yii\grid\ActionColumn;
sử dụng yii\helpers\Html;
$cái này ->title = 'Danh sách sách' ;
?>
    lớp học = "bánh mì vụn" >
     
  1. "#" quan hệ= "nofollow bên ngoài" quan hệ= "nofollow bên ngoài" >Trang chủ
     
  2. "#" quan hệ= "nofollow bên ngoài" quan hệ= "nofollow bên ngoài" >Thông tin sách
     
  3. lớp học = "tích cực" >Danh sách sách
    tiếng vọng GridView::widget([
      'Nhà cung cấp dữ liệu' => $dữ liệu // nguồn dữ liệu
       'bộ lọcModel' => $tìm kiếmMô hình , //cột tìm kiếm
      'cột' => [
         // ['filterModel' => $searchModel],
         [ 'lớp học' => 'yii\grid\CheckboxColumn' ], // cột hộp kiểm
         [ 'thuộc tính' => 'nhận dạng' ],
        [ 'thuộc tính' => 'tên_sách' ,],
         [ 'thuộc tính' => 'mặt_sách' , 'nội dung' => chức năng ( $mô hình ){
          // Hiển thị hình ảnh
          trở lại Html::img( $mô hình ->mặt_sách,[ 'chiều rộng' => '50' ]);
         }],
      [
           'thuộc tính' => 'tên_kiểu' ,
           'giá trị' => 'booksType.type_name' , //truy vấn chung giữa hai bảng [loại sách]
         ],
         [ 'lớp học' => 'yii\grid\ActionColumn' , 'tiêu đề' => 'vận hành' ], //cột hành động
      ],
       'máy nhắn tin' => [ // Tùy chỉnh kiểu phân trang và nội dung hiển thị
         'nhãn trang trước' => 'Trang trước' ,
         'nhãn trang tiếp theo' => 'Trang tiếp theo' ,
         'nhãn trang đầu tiên' => 'Trang đầu tiên' ,
         'nhãn trang cuối cùng' => 'Trang cuối cùng' ,
         'tùy chọn' =>[ 'phong cách' => 'lề trái:200px;' , 'lớp học' => "phân trang" ],
         ],
    ]);
    ?>

    Ⅴ. Hiển thị hiệu ứng.

    Mã triển khai của hàm GridView của tiện ích Yii2.0 (truy vấn/tìm kiếm/phân trang chung hai bảng)

    Tóm tắt.

    Trên đây là mã triển khai của chức năng GridView của tiện ích Yii2.0 (truy vấn/tìm kiếm/phân trang chung hai bảng) được trình soạn thảo giới thiệu. Tôi hy vọng nó sẽ hữu ích cho bạn. Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại tin nhắn cho tôi. . Biên tập viên Sẽ trả lời mọi người ngay lập tức. Tôi cũng xin cảm ơn mọi người đã ủng hộ trang web của tôi! .

    Liên kết gốc: http://blog.csdn.net/nw_ningwang/article/details/77547429.

    Cuối cùng, bài viết này về mã triển khai của hàm GridView của tiện ích Yii2.0 (truy vấn/tìm kiếm/phân trang chung hai bảng) kết thúc tại đây. Nếu bạn muốn biết thêm về tiện ích Yii2.0 GridView (truy vấn chung hai bảng) /search/pagination), vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

    25 4 0
    qq735679552
    Hồ sơ

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá taxi Didi miễn phí
    Phiếu giảm giá taxi Didi
    Chứng chỉ ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
    Xem sitemap của VNExpress