Reputation: 899
Unable to post to the phpmyadmin. Working locally. Overall the site is routing well. I have tried adding model to the auth.php file and change the namespace in user.php to include Models which was suggested in other forums as well as in stackoverflow. This did not work. I am getting the following error in the network tab:
{message: "Class 'APP\User' not found", exception: "Error",…}
exception: "Error"
file: "C:\laragon\www\crm\app\Http\Controllers\API\UserController.php"
line: 31
message: "Class 'APP\User' not found"
trace: [{function: "store", class: "App\Http\Controllers\API\UserController", type: "->"},…]
Here are my files as of now:
User.php
<?php
namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password', 'bio', 'photo', 'type'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
Auth Providers section in auth.php
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
api.php
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::apiResources([
'user' => 'API\UserController'
]);
Users.vue Modal section
<form @submit.prevent="createUser">
<!-- Modal -->
<div
class="modal fade"
id="addNew"
tabindex="-1"
aria-labelledby="exampleModalLabel"
aria-hidden="true"
>
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">
Añadir Nuevo
</h5>
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<input
v-model="form.name"
type="text"
name="name"
placeholder="Nombre de Usuario"
class="form-control"
:class="{
'is-invalid': form.errors.has('name')
}"
/>
<has-error
:form="form"
field="name"
></has-error>
</div>
<div class="form-group">
<input
v-model="form.email"
type="email"
name="name"
placeholder="Correo Electrónico"
class="form-control"
:class="{
'is-invalid': form.errors.has('email')
}"
/>
<has-error
:form="form"
field="email"
></has-error>
</div>
<div class="form-group">
<input
v-model="form.bio"
type="text"
name="bio"
placeholder="Bio breve de Usuario (Opcional)"
class="form-control"
:class="{
'is-invalid': form.errors.has('bio')
}"
/>
<has-error
:form="form"
field="name"
></has-error>
</div>
<div class="form-group">
<select
id="type"
v-model="form.type"
name="type"
class="form-control"
:class="{
'is-invalid': form.errors.has('type')
}"
>
<option value=""
>Eliges el Rol de Usuario</option
>
<option value="admin">Admin</option>
<option value="user"
>Usuario Estándar</option
>
<option value="author">Autor</option>
</select>
<has-error
:form="form"
field="name"
></has-error>
</div>
<div class="form-group">
<input
v-model="form.password"
type="password"
name="password"
placeholder="Contraseña"
class="form-control"
:class="{
'is-invalid': form.errors.has(
'password'
)
}"
/>
<has-error
:form="form"
field="password"
></has-error>
</div>
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-danger"
data-dismiss="modal"
>
Cerrar
</button>
<button type="submit" class="btn btn-primary">
Crear
</button>
</div>
</div>
</div>
</div>
</form>
UserController.php located inside the API folder within the Controllers folder inside HTTP
<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use APP\User;
use Illuminate\Support\Facades\Hash;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
return User::create([
'name' => $request['name'],
'email' => $request['email'],
'type' => $request['type'],
'bio' => $request['bio'],
'photo' => $request['photo'],
'password' => Hash::make($request['password']),
]);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
I am working off an older tutorial learning VueJs with Laravel but they are using 5.7 laravel and I am using Laravel 7. I am sure many things have changed so if someone can provide some help into this, I would surely appreciate it. Thank you in advance.
Upvotes: 0
Views: 233
Reputation: 8368
Your import in UserController.php
should be use App\User;
. App
needs to be lowercase.
Upvotes: 1