To view records of database, we first need to get hold of a table using the TableRegistry class. We can fetch the instance out of registry using get() method. The get()
method will take the name of the database table as argument. Now, this
new instance is used to find records from database using find() method. This method will return all records from the requested table.
config/routes.php
src/controller/UsersController.php
src/Template/Users/index.ctp
http://localhost:85/CakePHP/users
Example
Make changes in the config/routes.php file as shown in the following code.config/routes.php
<?php use Cake\Core\Plugin; use Cake\Routing\RouteBuilder; use Cake\Routing\Router; Router::defaultRouteClass('DashedRoute'); Router::scope('/', function (RouteBuilder $routes) { $routes->connect('/users', ['controller' => 'Users', 'action' => 'index']); $routes->fallbacks('DashedRoute'); }); Plugin::routes();Create a UsersController.php file at src/Controller/UsersController.php. Copy the following code in the controller file.
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); } } ?>Create a directory Users at src/Template, ignore if already created, and under that directory create a View file called index.ctp. Copy the following code in that 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>Execute the above example by visiting the following URL.
http://localhost:85/CakePHP/users
No comments:
Post a Comment