query.php
<?php include_once 'app/Mage.php'; Mage::app(); //==================================================================== //$product = Mage::getModel('catalog/product')->load(1); //echo '<pre>'; print_r($product); echo '</pre>'; /* * select query */ // First Way //$description = $product->getData('description'); // Second Way //$description = $product->getDescription(); //echo '<pre>'; print_r($description); echo '</pre>'; /* * update query */ // First Way //$product->setData('description','text updated')->save(); // Second Way //$product->setDescription('text updated')->save(); /* * delete query */ //$product->delete(); //==================================================================== // no attributes /* $products = Mage::getModel('catalog/product')->getCollection(); foreach($products as $product) { echo '<pre>'; print_r($product); print_r($product->getData()); echo '</pre>'; } */ // with attributes /* $products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name','price','description')) // selected fields or ->addAttributeToSelect('*') ->addFieldToFilter('price',array('lt'=>50)); // search //->->getFirstItem(); foreach($products as $product) { echo '<pre>'; print_r($product); print_r($product->getName()); echo '</pre>'; } */ //==================================================================== // custom query $read= Mage::getSingleton('core/resource')->getConnection('core_read'); // first way $query = $read->query("select * from mgt_customer_feedback"); while ($row = $query->fetch()) { echo '<pre>'; print_r($row); echo '</pre>'; } // second way //$results = $read->fetchAll("select * from customer_entity where email like '%@ikeepstudying.com'"); //foreach($results as $row) // For Write // fetch write database connection that is used in Mage_Core module //$write = Mage::getSingleton('core/resource')->getConnection('core_write'); // now $write is an instance of Zend_Db_Adapter_Abstract //$write->query("insert into tablename values ('aaa','bbb','ccc')"); // Magento Insert Query. $write->insert( "A_TABLE_NANE", array("a_column_name" => value, "a_column_name" => value) ); // Magento Update Query. $write->update( "A_TABLE_NANE", array("a_column_name" => value, "a_column_name" => value), "entity_id=18" ); // Magento Delete Query. $write->delete( "A_TABLE_NANE", "entity_id=18" );
Magento: How to select, insert, update, and delete data?
Here, I will be showing how to select, insert/add, update/edit and delete data in the Magento way. It’s about implementing the CRUD (Create Read Update Delete) concept. :)
Suppose, I have a database table named ‘news‘ with the following fields:-
id : int, auto increment, primary key
title : varchar
content : text
status : 0 or 1
Suppose, I have a module named ‘mynews‘. Here follows the code to select, insert, update, and delete data from the ‘news‘ table.
INSERT DATA
$data contains array of data to be inserted. The key of the array should be the database table’s field name and the value should be the value to be inserted.
$data = array('title'=>'hello there','content'=>'how are you? i am fine over here.','status'=>1); $model = Mage::getModel('mynews/mynews')->setData($data); try { $insertId = $model->save()->getId(); echo "Data successfully inserted. Insert ID: ".$insertId; } catch (Exception $e){ echo $e->getMessage(); }
SELECT DATA
$item->getData() prints array of data from ‘news’ table.
$item->getTitle() prints the only the title field.
Similarly, to print content, we need to write $item->getContent().
$model = Mage::getModel('mynews/mynews'); $collection = $model->getCollection(); foreach($collection as $item){ print_r($item->getData()); print_r($item->getTitle()); }
UPDATE DATA
$id is the database table row id to be updated.
$data contains array of data to be updated. The key of the array should be the database table’s field name and the value should be the value to be updated.
// $id = $this->getRequest()->getParam('id'); $id = 2; $data = array('title'=>'hello test','content'=>'test how are you?','status'=>0); $model = Mage::getModel('mynews/mynews')->load($id)->addData($data); try { $model->setId($id)->save(); echo "Data updated successfully."; } catch (Exception $e){ echo $e->getMessage(); }
DELETE DATA
$id is the database table row id to be deleted.
// $id = $this->getRequest()->getParam('id'); $id = 3; $model = Mage::getModel('mynews/mynews'); try { $model->setId($id)->delete(); echo "Data deleted successfully."; } catch (Exception $e){ echo $e->getMessage(); }
In this way you can perform select, insert, update and delete in your custom module and in any magento code.
Hope this helps. Thanks.
更多参考:
- Magento模块开发之数据库SQL操作方法说明
- Magento: addAttributeToFilter 和 addFieldToFilter 的区别 Difference between addAttributeToFilter and addFieldToFilter
- Magento模型集合addFieldToFilter常用过滤条件
- Magento: How to select, insert, update, and delete data?
原文/本文: Magento 数据库查询速记 select, insert, update, and delete data
相关推荐
在这个案例中,"magento-sample-data-1.6.1.0" 可能是一个包含 Magento 1.6.1.0 版本的示例数据和初始数据库结构的压缩包。用户可以通过导入这个 SQL 文件到他们的 MySQL 数据库中,来快速设置一个预填充的 Magento ...
本资源“Magento数据库 以及时尚模板”显然是针对服装类商家,提供了数据库配置和时尚设计的解决方案。 首先,让我们详细探讨Magento数据库的构建和管理。Magento的核心功能之一是其复杂的商品目录系统,这依赖于一...
在电子商务领域,Magento是一款广泛应用的开源电子商务平台,它允许商家管理他们的在线商店,包括产品、订单、客户等信息。在日常运营中,有时我们需要...这是一个涉及数据库查询优化、数据整合和文件导出的综合过程。
标题:Magento 数据库设计图 描述:Magento 数据库设计图旨在提供一个清晰的视图,帮助用户理解 Magento 系统内部的数据结构与关联性。通过这张设计图,开发者和DBA能够快速掌握数据库中各表之间的关系,以及它们在...
本文将详细介绍如何进行Zencart到Magento的数据迁移,尤其是数据库操作部分。 一、前期准备 在开始迁移前,确保你有Zencart和Magento的最新稳定版本,并备份两个系统的数据库和文件,以防数据丢失或错误。你需要...
了解这些关系对于进行数据库查询、系统维护、插件开发以及性能优化等任务都是至关重要的。尤其是,当需要进行复杂的数据操作时,如数据迁移、模块扩展或数据整合等,了解数据库的表结构和关联关系更是必不可少。 ...
当涉及到Magento站点的迁移时,一个常见的方法是通过使用PHPMyAdmin来导入数据库,这种方法不仅高效,而且能够确保数据的完整性和一致性。下面,我们将深入探讨Magento通过PHPMyAdmin方式做站点迁移的具体步骤、注意...
描述:“Magento数据字典”提供了对Magento系统中各种数据库表的深入理解,这对于理解和优化Magento的性能至关重要。 一、Magento数据结构解析 Magento是一款功能强大的电子商务平台,其复杂的数据结构是支撑其...
Magento 商城 Data Feed 是一种数据交换机制,它允许商家将产品信息、库存状态等关键数据导出,以便在其他平台(如广告网络、价格比较网站或市场)上使用。Data Feed 对于电子商务运营至关重要,因为它提高了产品的...
1.数据库配置 [mysqld] key_buffer = 512M max_allowed_packet = 64M table_cache = 512 sort_buffer_size = 4M read_buffer_size = 4M read_rnd_buffer_size = 2M myisam_sort_buffer_size = 64M tmp_...
rsync -avz --delete /path/to/source/magento/ /path/to/destination/ ``` 这里,`/path/to/source/magento/`是源站点的Magento根目录,`/path/to/destination/`是目标服务器的目录。 在新服务器上安装MySQL,并...
如果你需要动态生成菜单,可以利用Magento的事件观察者机制,在特定的事件(如`adminhtml_menu_prepare_data`)上添加或修改菜单结构。 通过这样的方式,你可以根据业务需求自由地扩展Magento的后台菜单,提供更...
magento-lite-db-dump 转储 Magento 数据库的简化版本以用于开发的 Shell 脚本。 此脚本转储整个数据库结构,但将许多表留空。 这些通常是与日志、客户、订单、愿望清单等对应的表。 结果是一个更轻量级的文件可供...
magento 1.8 sample data 1.6
首先,`magento导出数据sql`是指使用SQL语句来提取Magento数据库中的数据。这通常涉及到备份、分析或迁移数据到其他系统。在Magento中,数据主要存储在MySQL数据库中,因此我们可以通过以下几种方式来导出数据: 1....
本教程将详细讲解如何在Magento的前端查询订单以及相关知识点。 首先,我们要理解"Magento前台查询订单"的概念。在Magento系统中,顾客账户部分允许已注册的用户查看他们的订单状态和详情。这一功能增强了用户体验...
magento CE版(社区办)1.922数据库业务逻辑,表关系逻辑图
从magento数据库中获取最新的10种产品 安装说明: - - - - - - - - - - - - - 解压缩ProductGalleryModule.zip 。 将应用程序和js文件夹复制并粘贴到项目的根目录中。 转到此URL以查看您商店的最新产品图库:...
"DeleteOrder"插件是针对Magento系统的一个特定解决方案,解决了在默认情况下,Magento系统不支持直接删除订单的问题。这个插件允许用户在必要时永久删除订单,但需要注意的是,一旦订单被删除,数据将无法恢复,...