2016-04-26 7 views
1

Twig(Symfony 3)のユーザーオブジェクトの表示IDに問題があります。たとえば、私は、ユーザーオブジェクトダンプすることができます。Twig - ユーザーオブジェクトIDへのアクセス

{% for user in usersObject %} 
    {{ dump(user) }} 
{% endfor %} 

を、私は結果を得る:

User {#236 ▼ 
    -id: 1 
    #email: "[email protected]" 
    -username: "admin" 
    -password: "$2y$13$TW.gB06kBOBtc04Fti176OQBzNRh79G9tDIqNEf098/ADHsQkbM4W" 
    -permissions: "ROLE_SUPER_ADMIN" 
    -isActive: true 
    -createDate: DateTime {#232 ▶} 
    -lastLogin: DateTime {#233 ▶} 
    -userCookie: "" 
} 

が、私はこのオブジェクトのすべての要素を表示することができます

<tr> 
    <td>{{ user.username }}</td> 
    <td>{{ user.permissions }}</td> 
    <td>{{ user.password }}</td> 
</tr> 

をしかし、私はIDを表示することができません:

<tr> 
    <td>{{ user.id }}</td> 
</tr> 

Iトレイ

上記のコメントで述べたように
Method "id" for object "...\....\...\...\....html.twig" does not exist in @.../admin/form/usersList.html.twig at line 15 
+1

: 'public function getId(){$ this-> idを返します。 } '' User'エンティティで? – Miro

+0

あなたの答えは私の問題を解決する - 今はすべて正常に動作します。 理由を説明できますか?私はすべてが私のユーザーオブジェクト(私はダンプから私のデータを見た!)に送信され、私はエンティティの代わりにuser.XXXからすべてを得ることができると思う。 –

+0

あなたはエンティティを投稿していませんでしたが、あなたはゲッターを持っていないと思われ、属性はプライベート(または保護された)として設定されていました。おそらく、すべてのクラスと関連する属性のゲッター関数を持っていればベストです...おそらく、小枝はダンプを表示するために異なるメカニズムを使用しますが、それはtwigのソースコードを調べなければならないでしょう;;) – Miro

答えて

2

は、エンティティUserにパブリックgetter関数getIdを追加することが助けた:私は、エラーメッセージが表示されます上記のコードを使用するには、属性IDのgetterメソッドを追加しようとした場合どうなります

public function getId() { 
    return $this->id; 
} 
関連する問題