2012-01-09 15 views
0

私はフレームワークをzendするのが初めてです。テーブル関係がどのように機能するかを理解しようとしています。私は2つのテーブルを持っていると私はそれらをリンクし、リスト内のデータを取得しようとしている。私の関係のテーブルクラスでzendフレームワークのテーブル関係、referenceMapとdependentTables

CREATE TABLE `relationship` (
    `relationship_id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
    `relationship_name` varchar(45) NOT NULL, 
    `relationship_group_id` int(10) unsigned NOT NULL, 
    `display` int(10) unsigned NOT NULL DEFAULT '1', 
    PRIMARY KEY (`relationship_id`), 
    KEY `FK_relationship_1` (`relationship_group_id`), 
    CONSTRAINT `FK_relationship_1` FOREIGN KEY (`relationship_group_id`) REFERENCES  `relationship_group` (`relationship_group_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

CREATE TABLE `relationship_group` (
    `relationship_group_id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
    `relationship_group_name` varchar(45) NOT NULL, 
    `display` int(10) unsigned NOT NULL DEFAULT '1', 
    PRIMARY KEY (`relationship_group_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

、私が持っている:

私の関係グループテーブルクラスで
class Relationship_Table extends Zend_Db_Table_Abstract 
{ 
    protected $_rowClass = 'Relationship'; 
    protected $_name = 'relationship'; 

私が持っている:

class Relationship_Group_Table extends Zend_Db_Table_Abstract 
{ 
protected $_name = 'relationship_group'; 
protected $_rowClass = ' Relationship_Group'; 

私はわからない何私の$ _referenceMapと$ _dependentTables私は両方のクラスでそれを述べる必要があるのか​​、それとも単なるものでなければならないのでしょうか?

また、関係テーブルから対応するrelationship_groupデータを含むリストを取得するにはどうすればよいですか。

何か助けていただければ幸いです。

答えて

2

ここでは、テーブル関係の非常に良い入門書です。
Mat McCormisck on Table relationships in Zend Framework

あなたの質問への実際の答えは次のとおりです。

  • それはあなたが達成するために必要なものに依存し、どのようにあなたがそれを達成したいです。あなたのケース(InnonDBを使用)では、
+0

+1、非常に興味深いブログ投稿ありがとうございます。それは私の疑惑をクリアした:) – Marecky

0

$_dependentTablesは必要ありません。

Zend References

注:あなたが連鎖操作

を実装するためにRDBMSサーバーで参照整合性制約を使用している場合$_dependentTablesの宣言をスキップあなたの$_referenceMapPRIMARY KEY内に従属テーブルにFOREIGN KEYをリンクする必要があります親テーブルは従属テーブルでのみ必要です。

残りはRockyFordが彼のリンクで示唆しているとおりです:)。

関連する問題