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.