不能用 Auth::user() 得到 user_id Laravel 只是用 \Auth::user()

Can't get user_id Laravel with Auth::user() just with \Auth::user()

抱歉,如果这是一个新手问题,但我正在尝试在 laracast 上学习 laravel,但我自己无法解决这个问题。

我的 ArticlesController 上有这样一个存储功能:

public function store(ArticleRequest $request)
    {
        $article = new Article($request->all());

        Auth::user()->articles()->save($article);

        return redirect('articles');
    }

并且它 returns 是一个空白页,表明这是一些错误,但是如果我更改为

    \Auth::user()->articles()->save($article);

它按预期工作,使用 user_id 字段保存文章。
我尝试使用 use App\Http\Controllers\Auth\AuthController; 导入,但我认为这不是方法。

*观测值:Laravel 5.0

在现代 PHP 中,如果您在文件顶部看到以下内容

namespace App\Foo\Bar;

这意味着该文件内的所有代码都属于 App\Foo\Bar 命名空间的一部分。如果您尝试在此文件中使用无命名空间 class

$object = new Auth;

PHP 将假定您要使用 class。换句话说,这等同于说

$object = \App\Foo\Bar\Auth;

当你说

\Auth

你是在告诉 PHP“使用名为 Authglobal 顶级命名空间 class。

顺便说一下,这是对 PHP 的完全有效使用。但是,如果您不喜欢使用全局 \ -- 您可以将 \Auth class 导入 PHP 文件(有时称为 "module" 在其他语言中”) 通过使用 use 语句。

namespace App\Foo\Bar;

//pull in the global class `Auth`
use Auth;
//...

$foo = new Auth;