直接使用模型的静态方法,不使用" USE"关键字

时间:2017-03-03 15:08:23

标签: php laravel oop namespaces laravel-5.4

我有" UsersController"文件:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\User;

class UsersController extends Controller
{

    public function store(Request $request) {
        User::create( $request->all() );
        return "user added";
    }

}

"存储"方法对应于" POST"要求:

Route::post('users', ['uses' => 'UsersController@store']);

现在,如果我将POST数据发送给"用户"页面,它将新用户添加到"用户" DB中的表格。

好的,这有效,但我对use App\User;

有疑问

如果删除此行,然后尝试使用"创建"像这样的方法:

public function store(Request $request) {
    App\User::create( $request->all() ); 
    ...

给出错误:Class 'App\Http\Controllers\App\User' not found

问题是:为什么不能使用"用户" class static method" create"直接这样:

App\User::create( $request->all() )

1 个答案:

答案 0 :(得分:4)

替换你的

App\User::create( $request->all() );

通过

\App\User::create( $request->all() );