• Yii2返回以主键id为键名的数组


    branch.php

    <?php
    
    namespace appmodels;
    
    use Yii;
    
    /**
     * This is the model class for table "branch".
     *
     * @property integer $id
     * @property string $name
     *
     */
    class Branch extends yiidbActiveRecord
    {
        /**
         * @inheritdoc
         */
        public static function tableName()
        {
            return 'branch';
        }
    
        /**
         * @inheritdoc
         */
        public function rules()
        {
            return [
                [['name'], 'string', 'max' => 45],
            ];
        }
    
        /**
         * @inheritdoc
         */
        public function attributeLabels()
        {
            return [
                'id' => 'ID',
                'name' => 'Name',
            ];
        }
      public static function getKeyValuePairs()
        {
            $sql = 'SELECT id, name FROM ' . self::tableName() . ' ORDER BY name ASC';
        
            return Yii::$app->db->createCommand($sql)->queryAll(PDO::FETCH_KEY_PAIR);
        }
    }

    调用

    $model->getKeyValuePairs()得到如下:

    显示在前端:

    <?php
    
    use yiihelpersHtml;
    use yiiwidgetsActiveForm;
    use appmodelsBranch;
    /* @var $this yiiwebView */
    /* @var $model appmodelsPos */
    /* @var $form yiiwidgetsActiveForm */
    ?>
    
    <div class="pos-form">
    
        <?php $form = ActiveForm::begin(); ?>
    
        <?= $form->field($model, 'serial')->textInput(['maxlength' => true]) ?>
        <?= $form->field($model, 'branch_id')->dropDownList(Branch::getKeyValuePairs())  ?>
        
        <?= $form->field($model, 'is_enable')->checkBox() ?>
    
        <div class="form-group">
            <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
        </div>
    
        <?php ActiveForm::end(); ?>
    
    </div>
  • 相关阅读:
    纸牌排序
    将年份转换成天干地支
    猜算式
    字符串的简单处理
    九宫格填数字
    扫雷
    嗨喽
    Input.GetAxis与Input.GetAxisRaw区别
    C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
    开发游戏所需知识(知乎转载)
  • 原文地址:https://www.cnblogs.com/xiong63/p/7857985.html
Copyright © 2020-2023  润新知