Write a Delete SQL query statement in Magento 2.

Write a MySQL delete query using Magento’s standard way of deleting specific rows from the database table by Magento.

You can write direct SQL query delete() without worrying about Model operation using a given code snippet in the blog. Continue reading “Write a Delete SQL query statement in Magento 2.”

Get Auto Increment Field from a table using Magento 2.

You can get the Auto Increment Field from a database table using Magento 2 as Best coding practice way.

You need to use getAutoIncrementField() for getting the auto-increment field from the table.

Output: Returns field name if an auto-increment field is available otherwise return as false.

<?php
namespace Path\To\Class;

use Magento\Framework\App\ResourceConnection;

class AutoIncrementField {

    const ORDER_TABLE = 'sales_order';

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

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

    /**
    * get AutoIncremntFieldName using Query
    *
    * @return string|bool
    */
    public function getAutoIncremntFieldName()
    {
      $connection  = $this->resourceConnection->getConnection();
      $tableName = $connection->getTableName(self::ORDER_TABLE);
      $getFieldName = $connection->getAutoIncrementField($tableName);

      return $getFieldName;
    }
}

You can call $this->getAutoIncremntFieldName() function to check sales_order table with auto_increment field name.

Output:
entity_id

Check if database table exists or not using Magento 2.

Magento 2, When you deal with database table related stuff and first you want to check if a specific table exists or not in the database.

You need to use isTableExists() for getting table exists or not. using the above function you get the idea of table available or not.

Output: isTableExists() returns always boolean. true or false. Continue reading “Check if database table exists or not using Magento 2.”