0

Doctrine 1.2.4、PHP 5.3.3
テーブルのプロファイル、ストリーム、イベント

fk:event -> 多対 1 のプロファイル fk:event ->
多対 1 のストリーム

ストリーム

$this->hasMany('modelEvent as Events', array(
            'local' => 'id',
            'foreign' => 'stream_id'
));

プロフィール

$this->hasMany('modelEvent as Events', array(
            'local' => 'id',
            'foreign' => 'profile_id'
));

イベント

 $this->hasOne('modelProfile', array(
                 'local' => 'profile_id',
                 'foreign' => 'id'
 ));

 $this->hasOne('modelStream', array(
                'local' => 'stream_id',
                'foreign' => 'id'
 ));

関係は機能しません:(

<?php
    $event = new modelEvent();
    $event -> merge ($data_event);
    $event -> modelProfile -> merge($data_profile);
    $event -> modelStream -> merge($data_stream);
    $event -> save();
?>
4

1 に答える 1

0

リレーション データをモデルに適切に追加するには、 setRelation()メソッドを使用する必要があります。

例えば:

$profile = new modelProfile();
$profile->fromArray($arrayOfData); //you can optionally populate the new model with an array of values.  Values with keys that don't exist in the model will be ignored.

$event = new modelEvent();
$event->setRelation('modelProfile', $profile);
$event->save();
于 2012-07-16T23:00:21.133 に答える