2017-03-03 3 views
0

私はYii2 2.0.9基本テンプレートを使用しています。クラスを設定しようとしています。
私は私のクラス私のプロパティで他のクラスの参照を使用します。tablenameへのYii2プロパティのマッピング

/** 
* 
*@property Contact contact 
*/ 
class User extends ActiveRecord { 

    public static function tableName() { 
     return "user"; 
    } 

    /** 
    * This is want I need 
    */ 
    public function databaseMapping(){ 
     return [ 
      "contact" => "contact_id" 
     ]; 
    } 
} 

私の問題の解決策はありますか?

感謝マーヴィントールは

Grailsのでは、私はこれを書くことができます:

と私は同じ

+0

問題をもう少し詳しく説明できますか?属性名とdb列名を変更したいですか? –

+0

私のプロパティのデータベースには別の名前が必要です。私のクラスで私は連絡がありますが、私はそれをデータベースのcontact_idとして必要とします –

+1

なぜ列名を変更したいのですか?ラベル名を変更します。それは簡単だろう。 –

答えて

0

はあなたのラベルやデシベル列が変更されないまま変更したいです。

public function attributeLabels() 
{ 
    return [ 
     'contact_id' => Yii::t('app', 'Use your name here'), 

    ]; 
} 
0

あなたはエンドユーザーに表示するためにラベル名を定義するには、あなたのモデルクラス内のメソッドattributeLabels()を使用する場合があります。

public function attributeLabels() { 
    return [ 
     'contact_id' => 'Contact', 
    ]; 
} 

しかし、あなたが特定のフィールド名を持つフィールドを持つJSONを返す必要がYii2を使ってRESTfulなAPI作成するときのような時間があります。

public function fields() { 
    return [ 
     'contact' => 'contact_id', 
    ]; 
} 

この方法は、toArray()により、デフォルトで返されるべきフィールドのリストを返します。これらのocasionsについて、あなたはfields()メソッドを使用することができます。それについての詳細はHEREで確認できます。

関連する問題