Friday, March 3, 2017

Using model's class static method directly, without "USE" keyword

I have "UsersController" file:

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";
    }

}

"store" method corresponds to "POST" request:

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

So now, if I send POST data to "users" page, it adds new user to "users" table in DB.

Ok, this works, but I have question about use App\User;

if remove this line and then try to use "create" method like this:

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

gives error: Class 'App\Http\Controllers\App\User' not found

Question is: why can't use "User" class static method "create" directly like this:

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

?



via OTARIKI

Advertisement