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 に答える