在Magento 2 中使用insert query添加记录

您可以使用 Magento 2 创建自定义插入查询,以通过 ResourceConnection 类在数据库表中添加/创建新记录。

使用插入查询,您可以使用直接 SQL 查询insert()将新记录添加到表中,而无需进行模型操作。

让我们在sales_order_status表中添加一条新记录,其中仅包含状态和标签两列

<?php
namespace Path\To\Class;

use Magento\Framework\App\ResourceConnection;

class addOrderStatus {

    const ORDER_STATUS_TABLE = 'sales_order_status';
    const STATUS_FIELD = 'status';
    const STATUS_LABEL_FIELD = 'label';

    /**
     * @var ResourceConnection
     */
    private $resourceConnection;

    public function __construct(
       ResourceConnection $resourceConnection
    ) {
       $this->resourceConnection = $resourceConnection;
    }

    /**
    * insert Sql Query
    */
    public function insertStatus()
    {
      $connection  = $this->resourceConnection->getConnection();
      $tableName = $connection->getTableName(self::ORDER_STATUS_TABLE);

      $data = [
          self::STATUS_FIELD => 'pending_hold',
          self::STATUS_LABEL_FIELD => __("Pending Onhold"),
      ];

      $connection->insert(self::ORDER_STATUS_TABLE, $data);
    }
}

第一个参数是表名。

第二个参数是表的列数组。

输出是添加到sales_order_status表的新行。您可以添加任何编号。使用 insert() 查询在任何表中的记录。

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论