2017-12-29 15 views
0

私はコンポーネントテンプレート内の印刷ユーザー名と電子メールを試してみました:コンポーネントテンプレートでユーザーモデルを取得する方法は? OctoberCMS

<td>{{ Partners.getUser(partner.partner_id).name }}</td> 
<td>{{ Partners.getUser(partner.partner_id).email }}</td> 

ページコード:

use RainLab\User\Models\User; 

//Get one user 
function onStart() 
{ 
    $this['partners'] = new class { 
     public function getUser($id) { 

     $user = User::all()->where('id', $id)->first(); 

     return $user; 
    } 
}; 
} 

をしかし機能は何も印刷されません。これを行うための他の方法がありますか?

+0

のですか? –

+0

@LuisfelipeDejesusMunoz、何も.. var_dumpが機能しない – zoinx2012

+0

var_dumpがおそらく '働く'ように、あなたの関数が実際に呼び出されていない可能性があります.... $ user = User :: find($ id); – GoatHater

答えて

0

その機能を呼び出すために、そのトリッキー:)

use RainLab\User\Models\User; 

function onStart() { 

    $this['getUser'] = function($id) { 
     $user = \Auth::findUserById($id); 
     // OR $user = User::all()->where('id', $id)->first(); 
     return $user; 
    }; 

} 

今、それを呼び出すためにその時間;)

{{ getUser.call(this['page'], 1).id }} 

ので、ここで1 <は - ユーザIDが

ですあなたのため

{{ getUser.call(this['page'], partner.partner_id).name }} 

partner.partner_idは `のvar_dump($ユーザー)`プリントを何あなたのuser id

関連する問題