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.