Php 使用Yii的多对多关系保存模型

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

我有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->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();