CakePHP - Datensatz anzeigen

Um Datensätze der Datenbank anzuzeigen, müssen wir zuerst eine Tabelle mit dem abrufen TableRegistryKlasse. Wir können die Instanz mit aus der Registrierung abrufenget()Methode. Dasget() Die Methode verwendet den Namen der Datenbanktabelle als Argument.

Diese neue Instanz wird jetzt verwendet, um Datensätze aus der Datenbank mithilfe der find () -Methode zu finden. Diese Methode gibt alle Datensätze aus der angeforderten Tabelle zurück.

Beispiel

Nehmen Sie Änderungen in der config/routes.php Datei wie im folgenden Code gezeigt.

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

Ein ... kreieren UsersController.php Datei bei src/Controller/UsersController.php. Kopieren Sie den folgenden Code in die Controller-Datei.

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

Erstellen Sie ein Verzeichnis Users beim src/Template, ignorieren, wenn bereits erstellt, und unter diesem Verzeichnis erstellen Sie eine View Datei aufgerufen index.php. Kopieren Sie den folgenden Code in diese Datei.

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>

Führen Sie das obige Beispiel aus, indem Sie die folgende URL aufrufen: http: // localhost / cakephp4 / users

Ausgabe

Bei der Ausführung erhalten Sie über die obige URL die folgende Ausgabe.