微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Magento 2.3 中加入两个自定义表

如何解决如何在 Magento 2.3 中加入两个自定义表

我有两个表如下 pscustom_catalog_product_entity

enter image description here

pscustom_catalog_product_entity_media

enter image description here

我已经使用资源模型和块为表 pscustom_catalog_product_entity 创建了集合。

现在我可以使用集合访问这个表数据了。

app/code/MyModule/Productsinfo/Model/Product.PHP

<?PHP

namespace MyModule\Productsinfo\Model;

use Magento\Framework\Model\AbstractModel;
use MyModule\Productsinfo\Model\ResourceModel\Product as ResourceModel;

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

app/code/MyModule/Productsinfo/Model/ResourceModel/Product.PHP

<?PHP

namespace MyModule\Productsinfo\Model\ResourceModel;

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

class Product extends AbstractDb
{
    protected function _construct()
    {
        $this->_init('pscustom_catalog_product_entity','entity_id');
    }
}

app/code/MyModule/Productsinfo/Model/ResourceModel/Product/Collection.PHP

<?PHP
namespace MyModule\Productsinfo\Model\ResourceModel\Product;

use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;
use MyModule\Productsinfo\Model\Product as Model;
use MyModule\Productsinfo\Model\ResourceModel\Product as ResourceModel;

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

app/code/MyModule/Productsinfo/Block/Product.PHP

<?PHP 

namespace MyModule\Productsinfo\Block;

use Magento\Framework\View\Element\Template;
use MyModule\Productsinfo\Model\ResourceModel\Product\Collection;

class Product extends Template
{
    /**
     * @var Collection
     */
    private $collection;

    /**
     * Hello constructor.
     * @param Template\Context $context
     * @param Collection $collection
     * @param array $data
     */
    public function __construct(
        Template\Context $context,Collection $collection,array $data = []
    )
    {
        parent::__construct($context,$data);
        $this->collection = $collection;
    }

    public function getAllProducts() {
        return $this->collection;
    }

我可以使用 getAllProducts() 方法获取产品集合。 现在我想将表 pscustom_catalog_product_entity 集合加入表 pscustom_catalog_product_entity_media。我尝试了很多解决方案,但它不起作用。 任何帮助将不胜感激。

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。