Magento 2

Models, Resource Models and Collections

Model

<?php


namespace Jc\SuperHero\Model;


use Magento\Framework\Model\AbstractModel;

class Hero extends AbstractModel
{
    protected function _construct()
    {
        $this->_init(ResourceModel\Hero::class);
    }
}

Resource Model

<?php


namespace Jc\SuperHero\Model\ResourceModel;


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

class Hero extends AbstractDb
{
    const MAIN_TABLE = 'jc_superhero';
    const ID_FIELD_NAME = 'id';

    protected function _construct()
    {
        $this->_init(self::MAIN_TABLE, self::ID_FIELD_NAME);
    }
}

Collection

<?php


namespace Jc\SuperHero\Model\ResourceModel\Hero;


use Jc\SuperHero\Model\Hero;
use Jc\SuperHero\Model\ResourceModel\Hero as HeroResourceModel;
use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;

class Collection extends AbstractCollection
{
    protected function _construct()
    {
        $this->_init(Hero::class, HeroResourceModel::class);
    }
}

The Challenge

Edit/Delete Functionality

Happy </> Magento2

<?php

class ThankYou 
{
    function __construct() {
        print "Stay Safe\n";
    }

    function __destruct() {
        print "Bye for the Day, and stay tuned for the next session.";
    }
}

https://slides.com/jayachandra/magento2-models-resource-models-collections
https://github.com/jayachandraoggy/magento2-models-resourcemodels-collections

Made with Slides.com