2010-05-06 91 views
0

例如說,我都有以下DB結構mysql_fetch_object對複雜對象

表書

  • ID
  • 標題
  • ...

表作者

  • ID
  • ...

表BOOKAUTHOR

  • ID
  • BOOKID
  • AUTHORID

而在PHP我有以下反對

class Book { 
    var $id; 
    var $title; 
    var $authors = array(); 

    function Book() {} 
} 

class Author { 
    var $id; 
    var $name; 

    function Author(){} 
} 

現在,將它用mysql_fetch_object檢索bookobject包括提交人作爲作者對象的數組,可能嗎?

如果有可能我敢肯定,你需要基本的內部聯接查詢

SELECT * FROM tblbook INNER JOIN tblbookauthor on ... (wel you get the point) 

這可能嗎?

謝謝!

+0

我可能已經找到了一個骯髒的解決方案:在本書的構造函數中,您可以執行一個新查詢來獲取所有作者,並再次使用mysql_fetch_object。但是,我不想在我的模型中使用SQL或鏈接到我的數據訪問層,所以這不是一個真正的選項......另外,我不想增加查詢量,我希望它是可能的用單個查詢 – Nathan 2010-05-06 15:01:12

回答

2

你在找什麼是某種活動記錄系統。它超出了PHP的正常範圍,但存在這種功能的第三方實現。例如看看:AdoDB

+1

謝謝,經過一番搜索後我發現MyActiveRecord。這是相當古老的(我認爲最後一次更新是在2007年的某個地方),而對MySql來說則是單純的......但它非常輕便(這實際上也意味着它沒有多餘的額外功能)並且非常靈活。這正是我期待的! http://www.phpclasses.org/package/2990-PHP-Map-objects-to-MySQL-database-table-rows.html – Nathan 2010-05-07 09:08:25