CakePHP - Afficher un enregistrement

Pour afficher les enregistrements de la base de données, nous devons d'abord mettre la main sur une table en utilisant le TableRegistryclasse. Nous pouvons extraire l'instance du registre en utilisantget()méthode. leget() La méthode prendra le nom de la table de base de données comme argument.

Désormais, cette nouvelle instance est utilisée pour rechercher des enregistrements dans la base de données à l'aide de la méthode find (). Cette méthode renverra tous les enregistrements de la table demandée.

Exemple

Apportez des modifications au config/routes.php fichier comme indiqué dans le code suivant.

config / routes.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();
});

Créer un UsersController.php déposer à src/Controller/UsersController.php. Copiez le code suivant dans le fichier du contrôleur.

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);
      }
   }
?>

Créer un annuaire Users à src/Template, ignorer si déjà créé, et sous ce répertoire créer un View fichier appelé index.php. Copiez le code suivant dans ce fichier.

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>

Exécutez l'exemple ci-dessus en visitant l'URL suivante http: // localhost / cakephp4 / users

Production

Lors de l'exécution, l'URL ci-dessus vous donnera la sortie suivante.