1

3では起こらなかったlaravel 4で問題が発生しています。

Permissions_Role モデルでは、この関係を設定しています。

/**
 * User Relationship
 *
 * @return User
 */
 public function user()
 {
     return $this->belongsTo('User', 'user_id');
 }

ここで、モデルの後半でそれを使用して、そのユーザーのユーザー名を取得したいと考えています。laravel 3 では、これは次のように行うことができます。

return ucword($this->user()->first()->username);

ただし、4 では、同じ方法でオブジェクトを返さないようであり、その新しい構文を理解できないようです。以下は私が現在試していることです。

/**
 * Get username
 *
 * @return string
 */
 public function getUsernameAttribute()
 {
     return ucwords($this->user()->first()->username);
 }

これに関するヘルプは大歓迎です。ありがとう :)

4

1 に答える 1

1

() を記述する必要はもうありません。自動的にプロパティにキャストされます。

新しい:$this->user->username代わりに$this->user()->username

于 2013-07-02T20:29:30.827 に答える