2
什麼是在面向對象的PHP中進行多對多關係的最佳方式。如何處理與OOPHP的多對多關係?
如果我有三張表,書籍和類別以及連接表bookscategories(處理多對多),我應該創建一個名爲bookcategories的模型/類並處理與書類關係有關的所有事情嗎?
我參照下面的僞代碼的具體問題是:
- 我有沒有正確分配的方法,以適當的類?
- 有沒有更好的方法來實現這個不是很複雜?
- 在哪個類中處理鏈接關係?例如$書本 - > link_to_cat( '5')?
- 使用此方法的任何警告(如果適用)。
任何意見是高度讚賞!提前致謝!
僞代碼:
<?php
class Books {
//handles all book table stuff
public function delete_book() {
//deletes specific book
//deletes all related bookcategories using find_by_book_id
}
}
class Categories {
// handles all category stuff
}
class BookCategories {
public static function get_cats_by_book_id {
// sql join statement to retrieve category objects by book id
}
public static function get_books_by_cat_id {
}
public static function find_by_book_id() {
//returns bookcategories by book id.
}
}
?>
就我個人而言,我會拋棄`BookCategories`類 - 這是一個不必要的實現細節。只需在類類中添加一個`get_categories()`方法,並在類別類中添加`get_books()`方法。或者,在創建類別/書目對象時,將代碼放入每個構造函數中以提取所有鏈接的書籍/類別。 – 2011-01-14 06:19:33
爲什麼你的類名是複數? – 2011-01-14 06:20:17