Pour afficher les enregistrements de la base de données, nous devons d'abord nous procurer une table à l'aide de la classe TableRegistry. Nous pouvons récupérer l'instance hors du registre en utilisant la méthode get(). La méthode get() prendra le nom de la table de la base de données comme argument.
Maintenant, 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.
Apportez des modifications au fichier config/routes.php comme indiqué dans le code suivant.
<?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éez un fichier UsersController.php dans src/Controller/UsersController.php. Copiez le code suivant dans le fichier du contrôleur.
<?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éez un répertoire Utilisateurs dans src/Template, ignorez s'il est déjà créé, et sous ce répertoire, créez un fichier View appelé index.php . Copiez le code suivant dans ce fichier.
<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
Lors de l'exécution, l'URL ci-dessus vous donnera le résultat suivant.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!