Skip to content

Commit

Permalink
Creación de Modelo para BDD
Browse files Browse the repository at this point in the history
Creación de modelo que nos permita interactuar con nuestra Base de datos
Esta sección hace uso del modulo (Pfay_contacts) creado en ---> f693d0c

1.- Creamos Nuestro modelo : el modelo no deberá contener SQL
	app/code/Pfay/Contacts/Model/Contact.php
	En el constructor invocamos a la clase resorceModel
2.- Creamos el ( ResourceModel )
	app/code/Pfay/Contacts/Model/ResourceModel/Contact.php
	En el constructor se especifica el nombre de la tabla [ pfay_contacts ] y el id de la misma [pfay_contacts] , tabla creada aqui ---> 08703f0

3.- Creamos la colección de objetos que nos permitirá crear objetos de la tabla
	app/code/Pfay/Contacts/Model/ResourceModel/Contact/Collection.php

4.- Modificaos nuestro controlador para registrar tres contactos de prueba
	app/code/Pfay/Contacts/Model/ResourceModel/Contact.php

5.- actualízamos , compilamos y asignamos permisos
	php bin/magento setup:upgrade
	php bin/magento setup:di:compile
	chmod -R 777 var/ pub/

6.- visitamos url para insertar registros
	http://magento240.local/contacts/test/index

7.- Verificamos que se encuentren registrados los datos en nuestra tabla de BDD
	select * from pfay_contacts;
  • Loading branch information
PerezContrerasLuis committed Jan 20, 2022
1 parent b945677 commit 3bb22b1
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 2 deletions.
17 changes: 15 additions & 2 deletions code/Pfay/Contacts/Controller/Test/Index.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,20 @@ class Index extends \Magento\Framework\App\Action\Action
{
public function execute()
{
$this->_view->loadLayout();
$this->_view->renderLayout();
/* $this->_view->loadLayout();
$this->_view->renderLayout(); */

$contact = $this->_objectManager->create('Pfay\Contacts\Model\Contact');
$contact->setName('Paul Dupond');
$contact->save();

$contact = $this->_objectManager->create('Pfay\Contacts\Model\Contact');
$contact->setName('Paul Ricard');
$contact->save();

$contact = $this->_objectManager->create('Pfay\Contacts\Model\Contact');
$contact->setName('Jack Daniels');
$contact->save();
die('test');
}
}
28 changes: 28 additions & 0 deletions code/Pfay/Contacts/Model/Contact.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?php

namespace Pfay\Contacts\Model;

use Magento\Cron\Exception;
use Magento\Framework\Model\AbstractModel;

/**
* Contact Model
*
* @author Pierre FAY
*/
class Contact extends AbstractModel
{
/**
* @var \Magento\Framework\Stdlib\DateTime
*/
protected $_dateTime;

/**
* @return void
*/
protected function _construct()
{
$this->_init(\Pfay\Contacts\Model\ResourceModel\Contact::class);
}

}
23 changes: 23 additions & 0 deletions code/Pfay/Contacts/Model/ResourceModel/Contact.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace Pfay\Contacts\Model\ResourceModel;

use Magento\Framework\Model\ResourceModel\Db\AbstractDb;

/**
* Contact Resource Model
*
* @author Pierre FAY
*/
class Contact extends AbstractDb
{
/**
* Initialize resource
*
* @return void
*/
public function _construct()
{
$this->_init('pfay_contacts', 'pfay_contacts_id');
}
}
23 changes: 23 additions & 0 deletions code/Pfay/Contacts/Model/ResourceModel/Contact/Collection.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace Pfay\Contacts\Model\ResourceModel\Contact;

use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;

/**
* Contact Resource Model Collection
*
* @author Pierre FAY
*/
class Collection extends AbstractCollection
{
/**
* Initialize resource collection
*
* @return void
*/
public function _construct()
{
$this->_init('Pfay\Contacts\Model\Contact', 'Pfay\Contacts\Model\ResourceModel\Contact');
}
}

0 comments on commit 3bb22b1

Please sign in to comment.