首页
学习
活动
专区
工具
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产品介绍

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

相关·内容

领券