Class 'Illuminate\Foundation\Auth\User' 未在 Lumen 5.6 中找到
Class 'Illuminate\Foundation\Auth\User' not found in Lumen 5.6
我正在将 API 从 Laravel 5.6 迁移到 Lumen 5.6
我的应用程序使用了我的一个插件,它引用了 Illuminate\Foundation\Auth\User
但是Lumen好像没有。正常吗?
(1/1) Error
Class 'Illuminate\Foundation\Auth\User' not found
in HasRelationships.php line 656
at Model->newRelatedInstance('Illuminate\Foundation\Auth\User')
in HasRelationships.php line 418
at Model->belongsToMany('Illuminate\Foundation\Auth\User', 'competitor', 'championship_id')
in Championship.php line 87
at Championship->users()
in Builder.php line 546
at Builder->Illuminate\Database\Eloquent\{closure}()
at call_user_func(object(Closure))
in Relation.php line 89
at Relation::noConstraints(object(Closure))
in Builder.php line 550
at Builder->getRelation('users')
in Builder.php line 518
at Builder->eagerLoadRelation(array(object(Championship), object(Championship), object(Championship), object(Championship)), 'users', object(Closure))
in Builder.php line 498
at Builder->eagerLoadRelations(array(object(Championship), object(Championship), object(Championship), object(Championship)))
in Builder.php line 466
at Builder->get(array('*'))
in Relation.php line 154
at Relation->get()
in Relation.php line 143
at Relation->getEager()
in Builder.php line 529
at Builder->eagerLoadRelation(array(object(Tournament)), 'championships', object(Closure))
in Builder.php line 498
at Builder->eagerLoadRelations(array(object(Tournament)))
in Builder.php line 466
at Builder->get(array('*'))
in BuildsQueries.php line 77
at Builder->first()
in CompetitorController.php line 35
at CompetitorController->index('fake-tournoi')
at call_user_func_array(array(object(CompetitorController), 'index'), array('fake-tournoi'))
in BoundMethod.php line 29
at BoundMethod::Illuminate\Container\{closure}()
in BoundMethod.php line 87
at BoundMethod::callBoundMethod(object(Application), array(object(CompetitorController), 'index'), object(Closure))
in BoundMethod.php line 31
at BoundMethod::call(object(Application), array(object(CompetitorController), 'index'), array('slug' => 'fake-tournoi'), null)
in Container.php line 564
at Container->call(array(object(CompetitorController), 'index'), array('slug' => 'fake-tournoi'))
in RoutesRequests.php line 373
at Application->callControllerCallable(array(object(CompetitorController), 'index'), array('slug' => 'fake-tournoi'))
in RoutesRequests.php line 339
at Application->callLumenController(object(CompetitorController), 'index', array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 313
at Application->callControllerAction(array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 275
at Application->callActionOnArrayBasedRoute(array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 260
at Application->handleFoundRoute(array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 230
at Application->handleDispatcherResponse(array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 164
at Application->Laravel\Lumen\Concerns\{closure}(object(Request))
at call_user_func(object(Closure), object(Request))
in Pipeline.php line 52
at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request))
in InjectDebugbar.php line 65
at InjectDebugbar->handle(object(Request), object(Closure))
in Pipeline.php line 151
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request))
in Pipeline.php line 32
at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request))
in CorsMiddleware.php line 18
at CorsMiddleware->handle(object(Request), object(Closure))
in Pipeline.php line 151
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request))
in Pipeline.php line 32
at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request))
in Pipeline.php line 104
at Pipeline->then(object(Closure))
in RoutesRequests.php line 410
at Application->sendThroughPipeline(array('App\Http\Middleware\CorsMiddleware', 'Barryvdh\Debugbar\Middleware\InjectDebugbar'), object(Closure))
in RoutesRequests.php line 166
at Application->dispatch(null)
in RoutesRequests.php line 107
at Application->run()
in index.php line 28
at require('/Users/julien/Documents/Proyectos/kz-api/public/index.php')
in server.php line 147
编辑:
use Illuminate\Foundation\Auth\User;
...
public function users()
{
return $this->belongsToMany(User::class, 'competitor', 'championship_id')
->withPivot('confirmed')
->withTimestamps();
}
如果我将 Illuminate\Foundation\Auth\User
更改为 App\User
,它会起作用,但由于此代码属于插件,建议永远不要引用 App\User
,因为你永远不知道项目的命名空间 运行
是的,很正常。 laravel/lumen-framework
不引入 laravel/framework
它引入来自 Illuminate
的子模块,其中不包括 Illuminate\Foundation
.
中的内容
我正在将 API 从 Laravel 5.6 迁移到 Lumen 5.6
我的应用程序使用了我的一个插件,它引用了 Illuminate\Foundation\Auth\User
但是Lumen好像没有。正常吗?
(1/1) Error
Class 'Illuminate\Foundation\Auth\User' not found
in HasRelationships.php line 656
at Model->newRelatedInstance('Illuminate\Foundation\Auth\User')
in HasRelationships.php line 418
at Model->belongsToMany('Illuminate\Foundation\Auth\User', 'competitor', 'championship_id')
in Championship.php line 87
at Championship->users()
in Builder.php line 546
at Builder->Illuminate\Database\Eloquent\{closure}()
at call_user_func(object(Closure))
in Relation.php line 89
at Relation::noConstraints(object(Closure))
in Builder.php line 550
at Builder->getRelation('users')
in Builder.php line 518
at Builder->eagerLoadRelation(array(object(Championship), object(Championship), object(Championship), object(Championship)), 'users', object(Closure))
in Builder.php line 498
at Builder->eagerLoadRelations(array(object(Championship), object(Championship), object(Championship), object(Championship)))
in Builder.php line 466
at Builder->get(array('*'))
in Relation.php line 154
at Relation->get()
in Relation.php line 143
at Relation->getEager()
in Builder.php line 529
at Builder->eagerLoadRelation(array(object(Tournament)), 'championships', object(Closure))
in Builder.php line 498
at Builder->eagerLoadRelations(array(object(Tournament)))
in Builder.php line 466
at Builder->get(array('*'))
in BuildsQueries.php line 77
at Builder->first()
in CompetitorController.php line 35
at CompetitorController->index('fake-tournoi')
at call_user_func_array(array(object(CompetitorController), 'index'), array('fake-tournoi'))
in BoundMethod.php line 29
at BoundMethod::Illuminate\Container\{closure}()
in BoundMethod.php line 87
at BoundMethod::callBoundMethod(object(Application), array(object(CompetitorController), 'index'), object(Closure))
in BoundMethod.php line 31
at BoundMethod::call(object(Application), array(object(CompetitorController), 'index'), array('slug' => 'fake-tournoi'), null)
in Container.php line 564
at Container->call(array(object(CompetitorController), 'index'), array('slug' => 'fake-tournoi'))
in RoutesRequests.php line 373
at Application->callControllerCallable(array(object(CompetitorController), 'index'), array('slug' => 'fake-tournoi'))
in RoutesRequests.php line 339
at Application->callLumenController(object(CompetitorController), 'index', array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 313
at Application->callControllerAction(array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 275
at Application->callActionOnArrayBasedRoute(array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 260
at Application->handleFoundRoute(array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 230
at Application->handleDispatcherResponse(array(1, array('uses' => 'App\Http\Controllers\CompetitorController@index'), array('slug' => 'fake-tournoi')))
in RoutesRequests.php line 164
at Application->Laravel\Lumen\Concerns\{closure}(object(Request))
at call_user_func(object(Closure), object(Request))
in Pipeline.php line 52
at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request))
in InjectDebugbar.php line 65
at InjectDebugbar->handle(object(Request), object(Closure))
in Pipeline.php line 151
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request))
in Pipeline.php line 32
at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request))
in CorsMiddleware.php line 18
at CorsMiddleware->handle(object(Request), object(Closure))
in Pipeline.php line 151
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request))
in Pipeline.php line 32
at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request))
in Pipeline.php line 104
at Pipeline->then(object(Closure))
in RoutesRequests.php line 410
at Application->sendThroughPipeline(array('App\Http\Middleware\CorsMiddleware', 'Barryvdh\Debugbar\Middleware\InjectDebugbar'), object(Closure))
in RoutesRequests.php line 166
at Application->dispatch(null)
in RoutesRequests.php line 107
at Application->run()
in index.php line 28
at require('/Users/julien/Documents/Proyectos/kz-api/public/index.php')
in server.php line 147
编辑:
use Illuminate\Foundation\Auth\User;
...
public function users()
{
return $this->belongsToMany(User::class, 'competitor', 'championship_id')
->withPivot('confirmed')
->withTimestamps();
}
如果我将 Illuminate\Foundation\Auth\User
更改为 App\User
,它会起作用,但由于此代码属于插件,建议永远不要引用 App\User
,因为你永远不知道项目的命名空间 运行
是的,很正常。 laravel/lumen-framework
不引入 laravel/framework
它引入来自 Illuminate
的子模块,其中不包括 Illuminate\Foundation
.