2017-04-01 10 views
1

に列名を変更するための最良の方法は、ex、前モデルからデータを取得する列名を変更するための最良の方法は何ですか:変更iduidLaravel 5:モデル

$data = user::all(); //return array('uid'=>1,'uid'=>2 ... etc) 

おかげで、

+0

ビューで使用するデータベーススキーマまたはモデルデータ構造を永続的に変更することについてお話ししていますか? – fubar

+0

実行時にカラム名を変更し、DB内で永久的ではない – mwafi

答えて

6

します最も簡単なオプションは、カスタム属性ゲッターを作成することです。これにより、他の属性と同様にuidの値にアクセスすることができ、値はtoArray()メソッドを介してアクセスすることもできます。

class User extends Model 
{ 
    // ... 

    public $appends = [ 
     'uid', 
    ]; 


    public function getUidAttribute() 
    { 
     return $this->attributes['id']; 
    } 

    // ... 
} 

$user->uid; // 1 
$user->toArray() // [..., 'uid' => 1, ...]; 
+0

'user :: all()'と一緒に使用する方法は、行の配列を取得しますか? '$ user-> uid'を使わずに変更することはできますか? – mwafi

+0

'User :: all()'は 'User'モデルインスタンスのコレクションを返します。それぞれ' $ user-> uid'にアクセスします。 – fubar

+0

はい、私は '$ user-> uid'を呼び出すためのループなしでJSONとしてこの情報のコレクションを返したいと思います(またはそれらのすべてを表示します) – mwafi

関連する問題