Я использую почтальон, чтобы попытаться сделать запрос API-сообщения:
http://127.0.0.1: 8000 / api / auth / register? name=corbin&email=corbin@example.com&password=password
Должна быть подключена база данных, потому что я могу очень хорошо перенести свою базу данных. Используя php artisan tinker
, я также могу просто добавить нового пользователя:
>>> $user = new User();
=> App\User {#3060}
>>> $user->name = "kyle";
=> "kyle"
>>> $user->email = "kyle@example.com"
=> "kyle@example.com"
>>> $user->email = "kyle@example.com";
=> "kyle@example.com"
>>> $user->password = bcrypt('password');
=> "$2y$10$VQ8i0wlUKOfMzz6s/AXNBekcAdDAah9EvCvLeOASu3t06x.eVMCFq"
>>> $user->save();
=> true
>>> User::all();
=> Illuminate\Database\Eloquent\Collection {#3080
all: [
App\User {#3081
id: 1,
name: "kyle",
email: "kyle@example.com",
email_verified_at: null,
created_at: "2020-04-29 06:15:03",
updated_at: "2020-04-29 06:15:03",
},
],
}
Однако, когда я пытаюсь создать запись в почтальоне, я получаю это:
Illuminate \ Database \ QueryException: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: NO) (SQL: вставить в users
(name
, email
, password
) , updated_at
, created_at
) значения (кайл, kyle@example.com, $ 2y $ 10 $ QfVSBr67zOJldKrxqjVVsO9pZ5QV9qOkvoCH. / FPRZfSRVo1A4Gq C, 2020-04-28 08:53:51, 2020-04-28 08:53:51 )) в файле /Applications/MAMP/htdocs/laravel-vue-spa/vendor/laravel/framework/src/Illuminate/Database/Connection.php в строке 671
Вот мой AuthController:
public function register(Request $request)
{
/*$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|',
'password' => 'required|string|min:6|confirmed'
]);*/
$user = new User();
$user->name = $request->name;
$user->email = $request->email;
$user->password = bcrypt($request->password);
$user->save();
/*if($user->save()){
return response()->json([
'message' => 'User was successfully created.',
'status_code' => 201
], 201);
} else {
return response()->json([
'message' => 'An error occured. Please try again.',
'status_code' => 500
], 500);
} */
}
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_spa
DB_USERNAME=root
DB_PASSWORD=password
Я также попытался переключить DB_HOST=localhost
. В Sequel Pro мои привилегии установлены на супер. Я также пытался выполнить GET
запрос для User::all();
того же испытания.
Редактировать 1
config / database. php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
Я также пробежал php artisan config:clear
и php artisan optimize:clear