0

我想用 YiiFramework 做一个项目。在这个项目中,我有 1 个有很多关系的表我想创建一个在主表和所有关系中插入数据的表单,例如:我想要一个添加学生信息的表单我有 2 个表,第一个:id name family,第二个:id student_id我想在表 1 中添加数据,然后在表 2 中添加数据,所有这些工作都以表格形式完成,你有什么解决方案吗?

我的真实反应:

'homehouse' => array(self::HAS_ONE, 'Homehouse', 'HouseId'),
        'houseType' => array(self::BELONGS_TO, 'Parametervalues', 'HouseTypeId'),
        'owner' => array(self::BELONGS_TO, 'Person', 'OwnerId'),
        'region' => array(self::BELONGS_TO, 'Region', 'RegionId'),
        'housemultimedias' => array(self::HAS_MANY, 'Housemultimedia', 'HouseId'),
        'housestages' => array(self::HAS_MANY, 'Housestage', 'HouseId'),
        'tradehouse' => array(self::HAS_ONE, 'Tradehouse', 'HouseId'),
4

1 回答 1

1

您必须对每个模型执行此操作,因此,假设您有 2 个模型(学生和工作),并且您正在使用 POST 方法从表单发送数据。

他们,在您的控制器中,您首先保存主要数据,然后保存关系,例如:(ps。这只是一个假设的例子

控制器

public function actionSave(){
    if(isset($_POST['Student'])) {

        $Student                  = new Student();
        $Student->Job             = new Job();
        $Student->attributes      = $_POST['Student'];
        $Student->Job->attributes = $_POST['Job'];

        if($Student->save()){         
             $Student->Job->student_id = $Student->id;
             $Student->Job->save();
        }    
    }
}

有了这个想法,您可以将数据保存在您建模的许多关系中。

参考:如何保存相关对象?

于 2013-06-28T06:34:13.447 回答