我想用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'),
答案 0 :(得分:1)
你必须对每个模型进行操作,所以,假设你有两个模型(学生和工作),你用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();
}
}
}
有了这个想法,您可以将数据保存在您建模的许多关系中。