0

为什么当我从模型中检索记录时,它返回我声明的变量而不是表中的字段。

这是我的控制器功能

public function actionGetsp()
    {
      //$sp_id=$_POST['sp_id'];
      $model = TblSubProject::find()->select('sp_title, brgy_code')->all();
      return json_encode($model);
    }

这是我模型的一部分。

class TblSubProject extends \yii\db\ActiveRecord
{
    public $province;
    public $region;
    public $city_code;


    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'tbl_sub_project';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['city_code','brgy_code', 'sp_id', 'sp_title', 'sp_grant', 'lcc', 'modality'], 'required'],
            [['sp_id'], 'integer'],
            [['sp_grant', 'lcc'], 'number'],
            [['brgy_code'], 'string', 'max' => 9],
            [['sp_title'], 'string', 'max' => 500],
            [['modality'], 'string', 'max' => 50],
            [['sp_id'], 'unique']
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'brgy_code' => 'Brgy Code',
            'sp_id' => 'Sp ID',
            'sp_title' => 'Sp Title',
            'sp_grant' => 'Sp Grant',
            'lcc' => 'Lcc',
            'modality' => 'Modality',
            'city_code' => 'City / Municipality',
            'brgy_code' => 'Barangay',
            'brgyCode.cityCode.province.prov_name' => 'Province',
            'brgyCode.cityCode.city_name' => 'City / Municipality',
            'brgyCode.brgy_name' => 'Barangay',
        ];
    }
}

这是示例输出..

可以说,它返回省、地区和city_code,这不是表中的属性,而只是一个声明的变量。我想像 si_title 一样检索。

在此处输入图像描述

4

1 回答 1

0

这是一个正常的 Yii ActiveRecord 行为——它用声明的属性替换表属性。您不必声明它们:所有表字段都已作为 $model->$field 可用。

于 2015-04-17T11:53:20.403 回答