摘要:裡面,其實已經有非常好用的工具,內建也有提供方便的方法來查詢,但是有時候可能還是會有需要自己寫的情境。那可以怎麼做呢方法通常可以在這邊找到對應的,而的使用方法如下,這邊我們就不多作介紹。
Magento 裡面,其實已經有非常好用的 ORM 工具,內建也有 Collection 提供方便的方法來查詢,但是有時候可能還是會有需要自己寫 RAW SQL Query 的情境。那可以怎麼做呢?
Collection 方法通常可以在 vendor/extension/model/ResourceModel/{entity_name}/ 這邊找到對應的 collection ,而 collection 的使用方法如下,這邊我們就不多作介紹。
程式碼:addFieldToFilter("entity_id", 1)->getFirstItem();
除了 Collection 之外,我們也可以使用 Connection 進行對資料庫的操作,首先透過以下程式 create 出 connection 的連線。
建立 connection_objectManager->get("MagentoFrameworkAppResourceConnection")->getConnection();
select 語句// 語句: // select column_name as alias_name from table_name where entity_id = "1"; $select = $conn->select() ->from("table_name", [ "column_name" => "alias_name" ) ] ) ->where( "entity_id = ?", "1" );
Insert 語句$conn->insert( "table_name", [ "column_name_1" => "value", "column_name_2" => "value", ] );
Update 語句$conn->update( "table_name", [ "field_one" => "value1", "field_two" => "value2" ], $conn->quoteInto( "store_id IN (?)", "value1" ) );
Delete 語句delete( "table_name", [ "entity_id IN (?)" => $idsArray ] );
InsertOnDuplicate 語句insertOnDuplicate( "table_name", [ "attribute_id" => $attribute_id, "entity_id" => $productId, "value" => $value, "store_id" => 0, ], [ "value" ] );取得資料
// 可以使用 fetch 方法 $result = $conn->fetchAll( $select ); $result = $conn->fetchOne( $select ); $result = $conn->fetchOne( $select ); $result = $conn->fetchAssoc( $select ); $result = $conn->fetchCol( $select ); $result = $conn->fetchPairs( $select ); $result = $conn->fetchRow( $select );
這邊就端看使用者的需求來決定要 fetch 的種類,會回傳一個 Array 型別的資料,再用 foreach 去讀取即可
不管是 Collection 也好,或是 Connection 也好,都是操作資料庫的方法,沒有絕對的好壞,只有適合不適合,Collection 是封裝好的 ORM ,用起來頗為方便,但是如果是複雜的 join 語句,使用上就較為不便,還是需要靠 Connection 來幫忙。今天的介紹希望大家會喜歡。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28545.html
摘要:本次要做的就是,撰写一个模块,让该模块跑完整个的流程。创建模型,需要启用模型,启用资源模型,在资源模型中添加实体,再为资源模型设置读写适配器。 很多时候,不知道Magento模块到底该怎么写,比如ThinkPHP,YII框架,它是直接将控制器Controller中的所取得相关数据直接传递到视图层View,而Magento虽然也是MVC三层,但是在中间多了布局对象Layout与区块Blo...
摘要:到此就完成了。 功能介绍:安装好Magento插件后,需要把AW_Blog的前端显示方式要改变,变成类似选项卡的展示效果,先看下设计大体效果如下图:showImg(https://segmentfault.com/img/bVtIVr);那么,改如何修改插件呢?还是和往常一样,新建一个模块,包含Block、controllers、etc、sql、Model文件夹showImg(http...
摘要:是一款为快速开发而设计的框架加星请点这里。对进行了封装,使开发者可以更方便的编写正确和安全的。下面将继续上一篇快速开发接口的示例,介绍的使用。配置可以通过依赖注入的方式,对数据库进行配置。 showImg(https://segmentfault.com/img/remote/1460000010831389); PhpBoot 是一款为快速开发 RESTful API 而设计的PHP...
阅读 3663·2021-11-19 09:56
阅读 1374·2021-09-22 15:11
阅读 1091·2019-08-30 15:55
阅读 3355·2019-08-29 14:02
阅读 2879·2019-08-29 11:07
阅读 410·2019-08-28 17:52
阅读 3149·2019-08-26 13:59
阅读 421·2019-08-26 13:53