FK关系的问题。教义

时间:2012-05-03 16:42:43

标签: php orm doctrine doctrine-1.2

Doctrine 1.2.4,PHP 5.3.3
表格简介,流,事件

fk:event - >简介多对一 fk:event - >流多对一

$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();
?>

1 个答案:

答案 0 :(得分: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();