在Laravel 4中遇到Multi-Auth问题

时间:2014-05-01 06:47:57

标签: php authentication laravel laravel-4

我正在尝试在此处实现multiauth包:https://github.com/ollieread/multiauth#laravel-multi-auth

我有两个模特,范和艺术家。

我按照说明安装了软件包,然后在auth.php中使用了

'multi' => array(
    'user' => array(
        'driver' => 'eloquent',
        'model' => 'Fan'
    ),
    'artist' => array(
        'driver' => 'database',
        'table' => 'artists'
    )
),

我试图模仿这个例子。但是,当我运行原始代码时(仅基于粉丝,因此我将用户身份验证与我的风扇模型相关联)

当我使用原始$friends = Auth::user()->friends(例如)调用之一到达​​我的某个页面时,出现错误:

Undefined property: Ollieread\Multiauth\AuthManager::$friends

当朋友显然是粉丝表中的一栏时。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你以错误的方式调用authed模型。

$friends = Auth::user()->friends

这是旧方法,其中user()是返回模型的方法。现在,第一种方法是auth的类型,我甚至用get()方法添加它以减少混淆。

$friends = Auth::user()->get()->friends;

在您的实例中,Auth::user()是配置中Auth条目的user实例,Auth::artist()Auth artist实例1}}在你的配置中输入。

基本上采用原始auth库执行操作的方式,并将其全部移动一级。

Auth::user()->get()->id // Original: Auth::user()->id
Auth::user()->check() // Original: Auth::check()