1

PHP ActiveRecordで5番目の通常の形式を表すことは可能ですか?

すなわち

Person <=> (person_id) person_phone (phone_id) <=> Phone
4

1 に答える 1

3

5番目の法線は「$has_manythrough」で表すことができます

http://www.phpactiverecord.org/projects/main/wiki/Associations

has_many through (many to many)

This is a convenient way to configure a many-to-many association. 

この例では、注文はその支払いの関連付けに行くことによってユーザーに関連付けられています。

 1 class Order extends ActiveRecord\Model {
 2   static $has_many = array(
 3     array('payments'),
 4     array('users', 'through' => 'payments')
 5   );
 6 }
 7 
 8 class Payment extends ActiveRecord\Model {
 9   static $belongs_to = array(
10     array('user'),
11     array('order')
12   );
13 }
14 
15 class User extends ActiveRecord\Model {
16   static $has_many = array(
17     array('payments')
18   );
19 }
20 
21 $order = Order::first();
22 # direct access to users
23 print_r($order->users); # will print an array of User object

私はここで答えを見つけました:

ジョイントテーブルのモデルを作成し、結合テーブルを介して電話テーブルを関連付けることができます。

http://www.phpactiverecord.org/boards/4/topics/226

これも見つかりました: http ://svn.phpontrax.com/wiki/ActiveRecordTableAssociations

于 2012-05-29T16:30:06.717 に答える