鍍金池/ 問答/HTML5  PHP  數(shù)據(jù)庫/ php中 或者框架中 ORM在 mvc 中具體扮演的角色是什么

php中 或者框架中 ORM在 mvc 中具體扮演的角色是什么

問題:想知道ORM在MODEl中具體扮演的角色是什么,

1. ORM在 涉及到大的查詢,如關聯(lián)查詢,到底應該怎么去使用,在TP框架中,我之前是通過MODEL繼承,擴展了一個MODEL主表的一個MODEL,然后在上面處理一些有關業(yè)務,但是在使用symfony的時候,ORM中需要針對每張表有相應的映射關系,每個屬性也需要映射,然后插入和查詢都是根據(jù)屬性來查找,如果涉及到復雜的查詢又一個reposibility(倉庫)好像是,用來處理比較復雜的sql邏輯的,但是好想我記得每個倉庫又都是和相應的model又一個一一對應的關系,比如涉及到多表聯(lián)查或者處理的時候,或者一大段業(yè)務需要使用事務的時候怎么去去處理
2. 還有就是ORM,在MVC中的具體角色跟sql業(yè)務操作有何具體的不同,他們之間的關系是什么
3. 平時聽朋友將,很多公司都有DBA,這些DBA處理和優(yōu)化的地方跟ORM和框架之間的關系是什么
回答
編輯回答
青黛色

可以把它簡單理解為操作數(shù)據(jù)庫的工具,把數(shù)據(jù)庫查詢操作的邏輯,映射為函數(shù)方法。
例如SQL的where 映射為where()函數(shù)。

我昨天開源了的composer組件 https://github.com/AxiosCros/...
用它的Db類可以進行數(shù)據(jù)庫的連接、查詢等操作。

DBA的作用是設計數(shù)據(jù)庫結構,管理維護因為業(yè)務變化而帶來的數(shù)據(jù)結構變化,
同時更重要的任務是保證數(shù)據(jù)庫運行的穩(wěn)定安全。

而ORM的作用,是讓編程語言以更友好的方式與數(shù)據(jù)庫進行“溝通”。通過封裝的方法,讓開發(fā)者輕易的實現(xiàn)數(shù)據(jù)庫的查詢,而不需要直接寫SQL語句。

2018年9月8日 03:29