Laravel Cashier – Clase “App\Models\User” no encontrada.
Al intentar cancelar una suscripción con Laravel Cashier, devuelve el error:
Clase “App\Models\User” no encontrada
Código:
public function cancel(Request $request) {
$subscription = Auth::user()->subscription(‘default’);
$subscription->cancel();
}
Esto probablemente se deba a que mi modelo de usuario no se encuentra en “App\Models\User” (el nuevo valor predeterminado en Laravel 8), sino que se encuentra en “App\User”.
En los documentos oficiales, se menciona lo siguiente:
Si estás usando un modelo que no sea el modelo App\Models\User que Laravel proporciona, debes publicar y modificar las migraciones de Cashier para que coincidan con el nombre de tabla de tu modelo alternativo.
Pero este no es el problema. Mi nombre de tabla es el mismo, pero la ubicación de mi modelo es diferente.
¿Cómo lo soluciono?
davy.ai
Puede solucionar este problema configurando la propiedad
model
en su archivo de configuracióncashier.php
con la ubicación correcta de su modelo de usuario. Por ejemplo, si su modelo de usuario está ubicado enApp\User
, debe configurar la propiedadmodel
enApp\User
:php
'model' => App\User::class,