gpt4 book ai didi

php - 如何使用 Yii2 填充连接表?

转载 作者:行者123 更新时间:2023-11-29 07:26:19 25 4
gpt4 key购买 nike

因此,我按照数据库设置,在创建带有标签下拉列表的博客文章时创建了一个表单,但是在提交时我希望它填充连接表。

只有当我手动设置标签 ID 时,以下内容才有效。

    if ($model->load(Yii::$app->request->post())) {
$model->save(false);
$tags->blog_id = $model->id;
//$tags->tag_id = 1;
$tags->save(false);
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
'tags' => $brands,
]);
}

表单字段设置

<?= Html::activeDropDownList($tags, 'tag_id',
ArrayHelper::map(tags::find()->all(), 'id', 'title')) ?>

表/数据库结构如下:

博客-id(主键)-标题-内容

博客类别-id(主键)-blog_id(外文)-tag_id(FK)

标签-ID-标题

更新:

不确定以下方法是否是最好的方法,但它是否有效,欢迎任何改进。

        foreach ($_POST['Tags']['tag_id'] as $tag){
$tags = new Tags();
$tags->blog_id = $model->id;
$tags->tag_id = $tag;
$tags->save();
}

最佳答案

您是否尝试过在作业中使用标签

if ($model->load(Yii::$app->request->post())) {
$modelTags = load(Yii::$app->request->post('tags')));
$model->save(false);
$tags->blog_id = $model->id;
$tags->tag_id = $modelTags->tag_id;
$tags->save(false);
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
'tags' => $brands,
]);
}

PS ->save(false) 的使用应仅限于测试阶段,以防出现验证问题。如果不删除此标志,数据库中的数据集可能会不一致。

关于php - 如何使用 Yii2 填充连接表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34404452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com