如何在组件模板中获取用户模型? OctoberCMS

时间:2017-12-29 13:16:21

标签: php laravel 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;
    }
};
}

但该功能不会打印任何内容。可以有其他方法来做到这一点吗?

2 个答案:

答案 0 :(得分: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&lt; - 是用户ID

给你

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

partner.partner_id 是您的user id

答案 1 :(得分:0)

要返回已登录的用户模型,请改用Auth :: getUser。

function onStart(){
    $user = Auth::getUser();
    dd($user); 
}

You can see the documentation for more information