CakePHP - Visualizza un record

Per visualizzare i record del database, dobbiamo prima ottenere una tabella utilizzando il TableRegistryclasse. Possiamo recuperare l'istanza dal registro utilizzandoget()metodo. Ilget() metodo prenderà il nome della tabella del database come argomento.

Ora, questa nuova istanza viene utilizzata per trovare record dal database utilizzando il metodo find (). Questo metodo restituirà tutti i record dalla tabella richiesta.

Esempio

Apporta modifiche nel file config/routes.php file come mostrato nel codice seguente.

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

Creare un UsersController.php file in src/Controller/UsersController.php. Copiare il codice seguente nel file del controller.

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

Crea una directory Users a src/Template, ignora se già creato e in quella directory crea un file View file chiamato index.php. Copia il codice seguente in quel file.

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>

Esegui l'esempio precedente visitando il seguente URL http: // localhost / cakephp4 / users

Produzione

Dopo l'esecuzione, l'URL di cui sopra ti darà il seguente output.