数据库的用法
数据库的增删改查都是用的m2的模型orm,对表实例化模型后,直接调用模型的方法就行。
以test表为例,假设你已经对这个表建了模型
1,根据主键id获取一条记录
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$id = 1;
$testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id);
print_r($testModel->getData());//打印数据
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$id = 1;
$testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id);
print_r($testModel->getData());//打印数据
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $id = 1; $testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id); print_r($testModel->getData());//打印数据
2,查询某个表的数据集
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$testCollection = $objectManager->create('Zou\Demo\Model\ResourceModel\Test\Collection');
//查询某个字段
$testCollection->addAttributeToSelect('status');
//过滤where。比如获取status为1的数据
$testCollection->addAttributeToFilter('status',array('eq'=>1));
//再foreach输出就行
foreach ($testCollection as $_test) {
print_r($_test->getData());//打印数据
}
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$testCollection = $objectManager->create('Zou\Demo\Model\ResourceModel\Test\Collection');
//查询某个字段
$testCollection->addAttributeToSelect('status');
//过滤where。比如获取status为1的数据
$testCollection->addAttributeToFilter('status',array('eq'=>1));
//再foreach输出就行
foreach ($testCollection as $_test) {
print_r($_test->getData());//打印数据
}
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $testCollection = $objectManager->create('Zou\Demo\Model\ResourceModel\Test\Collection'); //查询某个字段 $testCollection->addAttributeToSelect('status'); //过滤where。比如获取status为1的数据 $testCollection->addAttributeToFilter('status',array('eq'=>1)); //再foreach输出就行 foreach ($testCollection as $_test) { print_r($_test->getData());//打印数据 }
3,得到原始的sql
echo $testCollection->getSelect();
echo $testCollection->getSelect();
echo $testCollection->getSelect();
4,filter常用的过滤条件
//等于 Equals: eq
$testCollection->addAttributeToFilter('status', array('eq' => 1));
//不等于 Not Equals - neq
$testCollection->addAttributeToFilter('sku', array('neq' => 'test-product'));
//Like - like
$testCollection->addAttributeToFilter('sku', array('like' => 'UX%'));
//Not Like - nlike
$testCollection->addAttributeToFilter('sku', array('nlike' => 'err-prod%'));
//In - in
$testCollection->addAttributeToFilter('id', array('in' => array(1,4,98)));
//Not In - nin
$testCollection->addAttributeToFilter('id', array('nin' => array(1,4,98)));
//NULL - null
$testCollection->addAttributeToFilter('description', 'null');
//Not NULL - notnull
$testCollection->addAttributeToFilter('description', 'notnull');
//大于 Greater Than - gt
$testCollection->addAttributeToFilter('id', array('gt' => 5));
//小于 Less Than - lt
$testCollection->addAttributeToFilter('id', array('lt' => 5));
//大于等于 Greater Than or Equals To- gteq
$testCollection->addAttributeToFilter('id', array('gteq' => 5));
//小于等于 Less Than or Equals To - lteq
$testCollection->addAttributeToFilter('id', array('lteq' => 5));
//等于 Equals: eq
$testCollection->addAttributeToFilter('status', array('eq' => 1));
//不等于 Not Equals - neq
$testCollection->addAttributeToFilter('sku', array('neq' => 'test-product'));
//Like - like
$testCollection->addAttributeToFilter('sku', array('like' => 'UX%'));
//Not Like - nlike
$testCollection->addAttributeToFilter('sku', array('nlike' => 'err-prod%'));
//In - in
$testCollection->addAttributeToFilter('id', array('in' => array(1,4,98)));
//Not In - nin
$testCollection->addAttributeToFilter('id', array('nin' => array(1,4,98)));
//NULL - null
$testCollection->addAttributeToFilter('description', 'null');
//Not NULL - notnull
$testCollection->addAttributeToFilter('description', 'notnull');
//大于 Greater Than - gt
$testCollection->addAttributeToFilter('id', array('gt' => 5));
//小于 Less Than - lt
$testCollection->addAttributeToFilter('id', array('lt' => 5));
//大于等于 Greater Than or Equals To- gteq
$testCollection->addAttributeToFilter('id', array('gteq' => 5));
//小于等于 Less Than or Equals To - lteq
$testCollection->addAttributeToFilter('id', array('lteq' => 5));
//等于 Equals: eq $testCollection->addAttributeToFilter('status', array('eq' => 1)); //不等于 Not Equals - neq $testCollection->addAttributeToFilter('sku', array('neq' => 'test-product')); //Like - like $testCollection->addAttributeToFilter('sku', array('like' => 'UX%')); //Not Like - nlike $testCollection->addAttributeToFilter('sku', array('nlike' => 'err-prod%')); //In - in $testCollection->addAttributeToFilter('id', array('in' => array(1,4,98))); //Not In - nin $testCollection->addAttributeToFilter('id', array('nin' => array(1,4,98))); //NULL - null $testCollection->addAttributeToFilter('description', 'null'); //Not NULL - notnull $testCollection->addAttributeToFilter('description', 'notnull'); //大于 Greater Than - gt $testCollection->addAttributeToFilter('id', array('gt' => 5)); //小于 Less Than - lt $testCollection->addAttributeToFilter('id', array('lt' => 5)); //大于等于 Greater Than or Equals To- gteq $testCollection->addAttributeToFilter('id', array('gteq' => 5)); //小于等于 Less Than or Equals To - lteq $testCollection->addAttributeToFilter('id', array('lteq' => 5));
参考:
https://www.cnblogs.com/zhengyanbin2016/p/5606917.html
5,删除数据
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$id = 1;
$testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id);
$testModel->delete();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$id = 1;
$testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id);
$testModel->delete();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $id = 1; $testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id); $testModel->delete();
6,更新数据
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$id = 1;
$testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id);
$testModel->setStatus(0);
$testModel->save();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$id = 1;
$testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id);
$testModel->setStatus(0);
$testModel->save();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $id = 1; $testModel = $objectManager->create('Zou\Demo\Model\Test')->load($id); $testModel->setStatus(0); $testModel->save();
admin 更改状态以发布