2012-09-26 66 views
3

當涉及到提高性能時,減少單個SQL查詢的數量就是其中的一部分。ZF2將Join語句的結果集映射到不同的對象

現在讓我們假設一個非常簡單的例子:我有一個博客 - 表和用戶 - 表。每個博客都通過給定的主鍵引用用戶。

的聲明也能像

SELECT blog.title, blog.text, user.name FROM blog, user INNER JOIN on blog.user_id = user.id 

現在我的Blog- 對象我想有一個$用戶屬性,它是一個用戶 - 對象

我的問題:是否存在ZF2內置的功能來處理這種情況?或者我需要手動將結果的每個字段映射到我的對象中?

在此先感謝

回答

4

不,有與ZF2做到這一點沒有內置特性 - 你應該考慮原則2,或者如果你想要的推進。

然而,使用Zend\Db,您可以在您的映射器類中編寫這樣的SQL語句,然後使用水化器填充博客實體。博客實體的populate()然後可以選擇使用傳遞給它的用戶數據創建用戶對象。

+1

謝謝Akrabat!我認爲你的第二個提議將成爲我現在要做的事情,因爲我上次檢查教義ManyToX-Relationships的效果不如我喜歡的那樣(就表單元素支持而言)。 – Sam

+4

也許你們可以做一個例子嗎?我需要更多細節才能在我的應用程序中完成此操作TNKS! – vinigarcia87

+1

我同意,請舉例:) – InsaurraldeAP

相關問題