2013-02-27 110 views
0

我從兩個不同的表中拉取數據時遇到了問題。我試圖首先獲取具有給定名稱的所有地址(選擇表中名稱爲tom的所有地址)。然後用這些地址,通過另一個表(table2)查找這些地址,並從col number中提取所有數據。難道還有比我的代碼更好的辦法:Zend從多個表中選擇數據

控制器:

this->table = new Address(); 
$getaddress = $this->table->getAddress($name); //grabbing all address associated with a given name 

$address = $getaddress->toArray(); 

foreach ($addy as $address) 
{ 
    this->table2 = new Number(); 
    $numbers = $this->table2->getNumber($address['numberColumn']); 
    $this->view->numbers = $numbers->toArray(); 
} 

回答

0

我會建議你tabletable2之間定義關係。當然,你需要table2中的外鍵,這將是第一個表的關係。 請研究下面的文檔: http://framework.zend.com/manual/1.12/en/zend.db.table.relationships.html

+0

我省略了那部分以得到我的問題的要點。表和表2是具有公共字段地址的不同表。我試圖輸入一個名稱,從表中檢索地址,然後查找所有地址,並從Table2中檢索包含所有地址的數字。所以基本上迭代通過地址1,地址2,地址3等和fetchAll(/ /獲取數字WHERE地址1或地址2或地址3等) – 2013-02-27 14:06:24

+0

您可以提供db圖或sql創建這兩個表的統計?也許有需要改變表格結構或關係... – konradwww 2013-02-28 07:49:29