2012-07-15 73 views
0

我很想知道,除了在某些情況下同時使用doctrine的用戶codeigniter的活動記錄查詢是否可以。因爲在某些情況下,我發現活動記錄更容易和快捷地完成任務,然後編寫原則查詢。例如,考慮下面的情況下,我需要在一個表中返回的行總數,在學說:在codeigniter中同時使用活動記錄和學說

$query = $this->em->createQueryBuilder() 
    ->select("count(c)") 
    ->from($this->entity, "c") 
    ->getQuery(); 
return $query->getSingleScalarResult(); 

VS通過活動記錄:

return $this->db->count_all_results($this->table); 

你可以看到它是多麼容易活躍的紀錄。可能會有更多這種情況。那麼,使用兩者有什麼優點或缺點?

此外,他們會使用兩個不同的數據庫連接來執行他們的操作?

回答

1

您可以同時使用Doctrine和ActiveRecord。箭魚已經強調了一些問題。除此之外,如果你引入新的開發團隊,學習曲線會更多。

我建議選擇一個並堅持下去。國際海事組織,兩者同樣好。您應該根據您當前的項目和個人喜好進行選擇。您可以在這裏找到很好的比較

What Does Doctrine Add Above Active Record - CodeIgniter?

關於你提到的兩個查詢,如果你使用DQL,它可能看起來簡單

$query = $em->createQuery('SELECT COUNT(u.id) FROM Entities\User u'); 
$count = $query->getSingleScalarResult(); 
+0

感謝您提供寶貴的信息。 – Rana 2012-07-17 10:56:42

1

我很想知道,除了在某些情況下使用的學說,同時

它確定,如果我笨用戶的活動 記錄查詢是否是它是確定。沒有規則反對它。

此外,他們會使用兩個不同的db連接來執行他們的 操作?

取決於你如何使用它們。 PHP中的連接池並不像其他語言中的那樣。你可能不得不編寫一個自定義類來鉤住它們,以便使用一個通用連接,但它不是一個id,如果我很着急花費我的時間。

關於優點和缺點

這是件好事,只要與活動記錄要堅持爲笨來講,因爲它是清潔,高效,當屬笨的一部分,爲您提供幾乎你可能需要的一切。您可以從codeigniter論壇獲得擴展的活動記錄類,這些擴展活動記錄類在基類上擴展以提供一些複雜的聯接功能。

但從技術上講,它不是使用兩層的問題,除了它變得雜亂的事實,並且使得兩個單獨的連接。

+0

謝謝。它幫助了很多。 – Rana 2012-07-17 10:56:53

相關問題