这是一个问题:例如,我们有2种模型:图书和标签
标记规则
public function rules()
{
return [
[['book_id', 'tag_name'], 'required']
];
}
图书规则
public function rules()
{
return [
[['name'], 'required']
];
}
图书和标签
之间的一对多关系/**
* @return \yii\db\ActiveQuery
*/
public function getTags()
{
return $this->hasMany(Tags::className(), ['book_id' => 'id']);
}
保存数据
if($books->load($post) && $books->save()){
if(Model::loadMultiple($tags, $post) && Model::validateMultiple($tags)){
foreach ($tags as $tag)
$tags->link('books',$books);
}
}
结果我收到模型错误-Attribute "book_id" is required.
在Model::validateMultiple($tags)
中会发生这种情况,因为标记模型中需要FK book_id 。
以这种方式最好的解决方案是什么?我有2个选择:
谢谢您的意见!