Phalcon - Modelos

El modelo en la arquitectura MVC incluye la lógica de aplicación. El modelo es la interacción central con la base de datos. Debería poder gestionar la actualización, eliminación, inserción y obtención de registros según la solicitud del usuario.

Para comprender la interacción del modelo en el marco PHP de Phalcon, se deben seguir los siguientes pasos.

Step 1 - Creación de base de datos.

Para cualquier LAMP, WAMP, XAMPP pila de software, es bastante fácil crear una base de datos con la ayuda de phpmyadmin herramienta de base de datos.

A continuación se muestra la consulta SQL para crear una base de datos.

create database <database-name>

Step 2 - En el phpmyadmin sección, haga clic en la pestaña Bases de datos, mencione el nombre de la base de datos y luego haga clic en el botón Crear como se muestra en la siguiente captura de pantalla.

Step 3 - Una vez creada la base de datos con éxito, cree una tabla que ayudará a su asociación para crear un modelo en el marco Phalcon.

Utilice la siguiente consulta para crear una nueva tabla denominada "usuarios".

DROP TABLE IF EXISTS `users`;  

CREATE TABLE `users` ( 
   `id` int(11) NOT NULL AUTO_INCREMENT, 
   `name` varchar(25), 
   `emailid` varchar(50), 
   `contactNumber` number 
   PRIMARY KEY (`id`) 
) 
ENGINE = InnoDB DEFAULT CHARSET = utf8;

Una vez creada la tabla, su estructura se parece a la que se muestra en la siguiente captura de pantalla.

Step 4- Para crear un modelo asociado con la tabla 'Usuarios' que creamos en el paso anterior, abra la instancia del símbolo del sistema. Es importante redirigir a la ruta del proyecto adecuada. Antes de eso, es vital verificar si la configuración de la base de datos se ha establecido correctamente como se muestra en la siguiente captura de pantalla.

Step 5 - Utilice el siguiente comando para crear cualquier modelo en el marco de Phalcon.

phalcon model <model-name>

A continuación se muestra el resultado de la ejecución del comando anterior.

Esto implica que el modelo se ha creado con éxito.

Step 6- El modelo creado con éxito está presente en la carpeta de modelos. Utilice la siguiente ruta para ver dónde se crea el modelo.

C:\xampp\htdocs\demo1\app\models

A continuación se muestra el código completo para Users.php.

<?php  

class Users extends \Phalcon\Mvc\Model {
   /**      
      *      
      * @var integer 
      * @Primary 
      * @Identity
      * @Column(type = "integer", length = 11, nullable = false)      
   */      

   public $id; 
   /**
      *
      * @var string
      * @Column(type = "string", length = 25, nullable = true)      
   */ 

   public $name; 
   /**
      *
      * @var string
      * @Column(type = "string", length = 50, nullable = true)
   */      

   public $emailid; 
   /**
      *
      * @var integer
      * @Column(type = "integer", length = 11, nullable = true)
   */      

   public $contactNumber; 
   /**
      * Returns table name mapped in the model.
      *
      * @return string
   */      

   public function getSource() {
      return 'users';
   }  
   /**
      * Allows to query a set of records that match the specified conditions
      *
      * @param mixed $parameters
      * @return Users[]
   */ 

   public static function find($parameters = null) { 
      return parent::find($parameters);
   }  
   /**
      * Allows to query the first record that match the specified conditions
      *
      * @param mixed $parameters
      * @return Users
   */   
   
   public static function findFirst($parameters = null) {
      return parent::findFirst($parameters);
   } 
}

Step 7- El controlador interactúa con el modelo y la vista para obtener el resultado necesario. Al igual que con el modelo, use el siguiente terminal de comando para crear un controlador.

Phalcon controller <controller-name>

En la ejecución exitosa del comando anterior, el resultado es el siguiente.

A continuación se muestra el código para UserController.php.

<?php  

class UsersController extends \Phalcon\Mvc\Controller { 
   public function indexAction() { 
      echo "Users Controller has been called"; 
   } 
}

La salida se mostrará si presionamos la siguiente URL: http://localhost/demo1/users