摘要:裡面,其實(shí)已經(jīng)有非常好用的工具,內(nèi)建也有提供方便的方法來(lái)查詢,但是有時(shí)候可能還是會(huì)有需要自己寫的情境。那可以怎麼做呢方法通常可以在這邊找到對(duì)應(yīng)的,而的使用方法如下,這邊我們就不多作介紹。
Magento 裡面,其實(shí)已經(jīng)有非常好用的 ORM 工具,內(nèi)建也有 Collection 提供方便的方法來(lái)查詢,但是有時(shí)候可能還是會(huì)有需要自己寫 RAW SQL Query 的情境。那可以怎麼做呢?
Collection 方法通常可以在 vendor/extension/model/ResourceModel/{entity_name}/ 這邊找到對(duì)應(yīng)的 collection ,而 collection 的使用方法如下,這邊我們就不多作介紹。
程式碼:addFieldToFilter("entity_id", 1)->getFirstItem();
除了 Collection 之外,我們也可以使用 Connection 進(jìn)行對(duì)資料庫(kù)的操作,首先透過(guò)以下程式 create 出 connection 的連線。
建立 connection_objectManager->get("MagentoFrameworkAppResourceConnection")->getConnection();
?
select 語(yǔ)句// 語(yǔ)句: // 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 語(yǔ)句$conn->insert( "table_name", [ "column_name_1" => "value", "column_name_2" => "value", ] );
?
Update 語(yǔ)句$conn->update( "table_name", [ "field_one" => "value1", "field_two" => "value2" ], $conn->quoteInto( "store_id IN (?)", "value1" ) );
?
Delete 語(yǔ)句delete( "table_name", [ "entity_id IN (?)" => $idsArray ] );
?
InsertOnDuplicate 語(yǔ)句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 );
這邊就端看使用者的需求來(lái)決定要 fetch 的種類,會(huì)回傳一個(gè) Array 型別的資料,再用 foreach 去讀取即可
不管是 Collection 也好,或是 Connection 也好,都是操作資料庫(kù)的方法,沒(méi)有絕對(duì)的好壞,只有適合不適合,Collection 是封裝好的 ORM ,用起來(lái)頗為方便,但是如果是複雜的 join 語(yǔ)句,使用上就較為不便,還是需要靠 Connection 來(lái)幫忙。今天的介紹希望大家會(huì)喜歡。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/28545.html
摘要:本次要做的就是,撰寫一個(gè)模塊,讓該模塊跑完整個(gè)的流程。創(chuàng)建模型,需要啟用模型,啟用資源模型,在資源模型中添加實(shí)體,再為資源模型設(shè)置讀寫適配器。 很多時(shí)候,不知道Magento模塊到底該怎么寫,比如ThinkPHP,YII框架,它是直接將控制器Controller中的所取得相關(guān)數(shù)據(jù)直接傳遞到視圖層View,而Magento雖然也是MVC三層,但是在中間多了布局對(duì)象Layout與區(qū)塊Blo...
摘要:到此就完成了。 功能介紹:安裝好Magento插件后,需要把AW_Blog的前端顯示方式要改變,變成類似選項(xiàng)卡的展示效果,先看下設(shè)計(jì)大體效果如下圖:showImg(https://segmentfault.com/img/bVtIVr);那么,改如何修改插件呢?還是和往常一樣,新建一個(gè)模塊,包含Block、controllers、etc、sql、Model文件夾showImg(http...
摘要:是一款為快速開發(fā)而設(shè)計(jì)的框架加星請(qǐng)點(diǎn)這里。對(duì)進(jìn)行了封裝,使開發(fā)者可以更方便的編寫正確和安全的。下面將繼續(xù)上一篇快速開發(fā)接口的示例,介紹的使用。配置可以通過(guò)依賴注入的方式,對(duì)數(shù)據(jù)庫(kù)進(jìn)行配置。 showImg(https://segmentfault.com/img/remote/1460000010831389); PhpBoot 是一款為快速開發(fā) RESTful API 而設(shè)計(jì)的PHP...
閱讀 3695·2021-11-19 09:56
閱讀 1476·2021-09-22 15:11
閱讀 1136·2019-08-30 15:55
閱讀 3382·2019-08-29 14:02
閱讀 2922·2019-08-29 11:07
閱讀 442·2019-08-28 17:52
閱讀 3180·2019-08-26 13:59
閱讀 445·2019-08-26 13:53