Php 使用Yii的多对多关系保存模型
我有3个这样的表:User(ID,Name)| Tutorial(ID,Tutcontent)| UserTutorial(ID,IDUser,IDTutorial)。我使用此代码保存模型Php 使用Yii的多对多关系保存模型,php,yii,many-to-many,relationship,Php,Yii,Many To Many,Relationship,我有3个这样的表:User(ID,Name)| Tutorial(ID,Tutcontent)| UserTutorial(ID,IDUser,IDTutorial)。我使用此代码保存模型 $user = User::model()->findByPk(1); $tutorial = Tutorial::model()->findByPk(1); $userTutorial = new UserTutorial; $userTutorial->I
$user = User::model()->findByPk(1);
$tutorial = Tutorial::model()->findByPk(1);
$userTutorial = new UserTutorial;
$userTutorial->IDUser = $user->ID;
$userTutorial->IDTutorial = $tutorial->ID;
$userTutorial->save();
它不会在mydatabase中保存新记录这是对您的任务非常有用的扩展:
不要忘记正确定义模型的关系:试试这个
$user = User::model()->findByPk(1);
$tutorial = Tutorial::model()->findByPk(1);
$userTutorial = new UserTutorial;
$userTutorial->IDUser = $user->ID;
$userTutorial->IDTutorial = $tutorial->ID;
$userTutorial->save(false);
非常感谢,但我还是有问题。我将
cadvancedabehavior.php
复制到扩展目录,在main.php
中更改“导入”=>array('application.extensions.cadvancedabehavior'),在Post.php
关系添加'categories'=>array(self::MANY.'Category','categorypost(postid,categoryid'),并在其下添加公共函数行为(){code>PostController.phpadd公共函数actionNewPost(){$post=newpost();$post->categories=Category::model()->findAll();$post->save()}
$user = User::model()->findByPk(1);
$tutorial = Tutorial::model()->findAll("id=2");
$user->**RELATION_ALIAS** = $tutorial;
$user->save();