首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

保存yii 1下拉列表中的另一个字段值而不是id

在Yii 1中,如果你想保存下拉列表中的另一个字段值而不是id,你可以使用以下步骤:

  1. 首先,你需要在数据库表中添加一个新的字段来存储下拉列表中的另一个字段值。假设你的表名为example_table,你可以添加一个名为another_field的字段。
  2. 在Yii 1的模型类中,找到对应的模型文件(通常位于protected/models目录下),比如ExampleModel.php。在该文件中,你需要添加一个新的属性来映射新添加的字段。例如:
代码语言:php
复制
class ExampleModel extends CActiveRecord
{
    public $another_field;
    
    // ...
}
  1. 接下来,在你的视图文件中,比如_form.php,你需要修改下拉列表的代码,以便将下拉列表的值与新添加的属性关联起来。假设你的下拉列表的名字为dropdown,你可以使用CHtml::activeDropDownList方法来生成下拉列表。例如:
代码语言:php
复制
echo $form->dropDownList($model, 'another_field', $listData, array('prompt' => '请选择'));

这里的$listData是一个关联数组,其中键表示下拉列表的值,值表示下拉列表的显示文本。

  1. 最后,在控制器的动作方法中,比如actionCreateactionUpdate,在保存模型之前,将下拉列表的值赋给新添加的属性。例如:
代码语言:php
复制
public function actionCreate()
{
    $model = new ExampleModel;
    
    if(isset($_POST['ExampleModel']))
    {
        $model->attributes = $_POST['ExampleModel'];
        $model->another_field = $_POST['ExampleModel']['another_field'];
        
        if($model->save())
        {
            // 保存成功
        }
    }
    
    $this->render('create', array('model' => $model));
}

这样,当你保存模型时,下拉列表中选择的另一个字段值将会保存到数据库的新字段中。

关于Yii 1的更多信息和使用方法,你可以参考腾讯云的Yii 1产品介绍页面:Yii 1产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从后端到前端之Vue(六)表单组件 HTML5原生的表单和表单元素Vue组件的基础知识表单元素组件辅助工具开源

要想做好表单组件,必须先知道HTML5里面的表单和表单元素都有哪些属性,以及属性的效果和作用,否则的话可能折腾半天才发现,原来HTML5已经自带了这个功能!   比如要实现这样一个功能:文本框只能输入数字,然后要加上两个按钮,按一个数值+1,按另一个数值-1。以前要写js代码实现,现在只需要把type改成number就可以了。而且可以对输入的文字做拦截,非数字根本输入不进去,这样就不用我们自己再去写代码实现了。所以磨刀不误砍柴工,我们先来整理一下,表单和表单属性都有哪些属性。

01
领券