CakePHP - Xem bản ghi

Để xem các bản ghi của cơ sở dữ liệu, trước tiên chúng ta cần nắm giữ một bảng bằng cách sử dụng TableRegistrylớp học. Chúng tôi có thể tìm nạp phiên bản từ sổ đăng ký bằng cách sử dụngget()phương pháp. Cácget() phương thức sẽ lấy tên của bảng cơ sở dữ liệu làm đối số.

Bây giờ, phiên bản mới này được sử dụng để tìm các bản ghi từ cơ sở dữ liệu bằng cách sử dụng phương thức find (). Phương thức này sẽ trả về tất cả các bản ghi từ bảng được yêu cầu.

Thí dụ

Thực hiện các thay đổi trong config/routes.php tệp như được hiển thị trong mã sau.

config / route.php

<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
   $builder->connect('/users', ['controller' => 'Users', 'action' => 'index']);
   $builder->fallbacks();
});

Tạo một UsersController.php nộp tại src/Controller/UsersController.php. Sao chép mã sau vào tệp bộ điều khiển.

src / controller / UsersController.php

<?php
   namespace App\Controller;
   use App\Controller\AppController;
   use Cake\ORM\TableRegistry;
   use Cake\Datasource\ConnectionManager;
   class UsersController extends AppController{
      public function index(){
         $users = TableRegistry::get('users');
         $query = $users->find();
         $this->set('results',$query);
      }
   }
?>

Tạo một thư mục Users tại src/Template, bỏ qua nếu đã được tạo và trong thư mục đó tạo View tệp được gọi là index.php. Sao chép mã sau vào tệp đó.

src / Template / Users / index.ctp

<a href="add">Add User</a>
<table>
   <tr>
      <td>ID</td>
      <td>Username</td>
      <td>Password</td>
      <td>Edit</td>
      <td>Delete</td>
   </tr>
   <?php
      foreach ($results as $row):
      echo "<tr><td>".$row->id."</td>";
      echo "<td<".$row-<username."</td>";
      echo "<td>".$row->password."</td>";
      echo "<td><a href='".$this-<Url->build(["controller" => "Users","action" => "edit",$row->id])."'>Edit</a></td>";
      echo "<td><a href='".$this->Url->build(["controller" => "Users","action" => "delete",$row->id])."'>Delete</a></td></tr>";
      endforeach;
   ?>
</table>

Thực hiện ví dụ trên bằng cách truy cập URL sau http: // localhost / cakephp4 / users

Đầu ra

Khi thực thi, URL trên sẽ cung cấp cho bạn kết quả sau.