2019独角兽企业重金招聘Python工程师标准>>>
直接操作数据库
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();
$tableName = $resource->getTableName('employee');
Select Data from table
$sql = "Select * FROM " . $tableName;
$result = $connection->fetchRow($sql); //get one info,返回二维数组
$result = $connection->fetchAll($sql); //get all info
Delete Data from table
$sql = "Delete FROM " . $tableName." Where emp_id = 10";
$connection->query($sql);
Insert Data into table
$sql = "Insert Into " . $tableName . " (emp_id, emp_name, emp_code, emp_salary) Values ('','XYZ','ABD20','50000')";
$connection->query($sql);
Update Data into table
$sql = "Update " . $tableName . "Set emp_salary = 20000 where emp_id = 12";
$connection->query($sql);
addFieldToFilter
public function __construct (
\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productFactory
) {
$this ->_productCollectionFactory = $productFactory ;
}
public function getProductCollection ( )
{
return $this ->_productCollectionFactory -> create ( ) -> addAttributeToSelect ( '*' ) -> addFieldToFilter ( 'sku’,'test ');
}
Equal: eq
Now we use equal to filter production collection.
$this ->_productCollectionFactory -> addFieldToFilter ( 'status' , 1 ) ; // Without using the operator
Not Equals – neq
Now we use not equal to filter production collection.
Like – like
Now we use Like to filter production collection.
Not Like – nlike
Now we use not like to filter production collection.
In – in
Now we use In to filter production collection.
Not In – nin
Now we use not In to filter production collection.
NULL – null
Now we use null to filter production collection.
Not NULL – notnull
Now we use not null to filter production collection.
Greater Than – gt
Now we use greater than to filter production collection.
Less Than – lt
Now we use less than to filter production collection.
Greater Than or Equals To- gteq
Now we use greater than to filter production collection.
Less Than or Equals To – lteq
Now we use less than equal to filter production collection.
打印SQL语句
$collection = $this->_order->getCollection()->addFieldToFilter('created_at',array('like' => '2018-10%'));
echo $collection->getSelect()->__toString(); //打印sql语句
打印getCollection结果数量
$collection = $this->_order->getCollection()->addFieldToFilter('created_at',array('like' => '2018-10%'));
echo $collection->count(); //打印sql语句