Skip to content

Trait method newEloquentBuilder has not been applied, because there are collisions #366

Closed
@LiamAird

Description

@LiamAird

Describe the bug
When using this package, together with other packages, that also use the newEloquentBuilder, it will fail, since two cannot use the same method two redo the eloquentBuilder, I suppose.

use GeneaLabs\LaravelModelCaching\Traits\Cachable;
use Kalnoy\Nestedset\NodeTrait;

class City extends Model
{
    use Cachable, NodeTrait;
}

Eloquent Query
Please provide the complete eloquent query that caused the bug, for example:

Using the NodeTrait from Kalnoy, as mentioned above.

Route::get('tree', function() {
    App\Models\City::fixTree();
});

Stack Trace
The full stack trace from your log file.

[2020-09-02 07:35:18] local.ERROR: Trait method newEloquentBuilder has not been applied, because there are collisions with other trait methods on App\Models\City {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): Trait method newEloquentBuilder has not been applied, because there are collisions with other trait methods on App\\Models\\City at /home/vagrant/finddet/app/Models/City.php:9)
[stacktrace]
#0 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(143): Symfony\\Component\\ErrorHandler\\Error\\FatalError->__construct()
#1 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(130): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->fatalErrorFromPhpError()
#2 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(0): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleShutdown()
#3 /home/vagrant/finddet/vendor/composer/ClassLoader.php(444): ()
#4 /home/vagrant/finddet/vendor/composer/ClassLoader.php(322): Composer\\Autoload\\includeFile()
#5 /home/vagrant/finddet/routes/web.php(111): Composer\\Autoload\\ClassLoader->loadClass()
#6 /home/vagrant/finddet/routes/web.php(111): spl_autoload_call()
#7 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Route.php(225): Illuminate\\Routing\\RouteFileRegistrar->{closure:/home/vagrant/finddet/routes/web.php:110-112}()
#8 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Route.php(199): Illuminate\\Routing\\Route->runCallable()
#9 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(685): Illuminate\\Routing\\Route->run()
#10 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Router.php:683-687}()
#11 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:126-132}()
#12 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#13 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(77): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#14 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\VerifyCsrfToken->handle()
#15 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#16 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#17 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(116): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#18 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#19 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#20 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#21 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#22 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#23 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\EncryptCookies->handle()
#24 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#25 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(687): Illuminate\\Routing\\Pipeline->then()
#26 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRouteWithinStack()
#27 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(628): Illuminate\\Routing\\Router->runRoute()
#28 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(617): Illuminate\\Routing\\Router->dispatchToRoute()
#29 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Routing\\Router->dispatch()
#30 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): App\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:162-166}()
#31 /home/vagrant/finddet/vendor/beyondcode/laravel-query-detector/src/QueryDetectorMiddleware.php(33): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:126-132}()
#32 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BeyondCode\\QueryDetector\\QueryDetectorMiddleware->handle()
#33 /home/vagrant/finddet/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(65): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#34 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle()
#35 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#36 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#37 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#38 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\TrimStrings->handle()
#39 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#40 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#41 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#42 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\CheckForMaintenanceMode->handle()
#43 /home/vagrant/finddet/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#44 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#45 /home/vagrant/finddet/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#46 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\TrustProxies->handle()
#47 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Routing\\Pipeline->Illuminate\\Pipeline\\{closure:/home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:143-174}()
#48 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(140): Illuminate\\Routing\\Pipeline->then()
#49 /home/vagrant/finddet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(109): App\\Http\\Kernel->sendRequestThroughRouter()
#50 /home/vagrant/finddet/public/index.php(55): App\\Http\\Kernel->handle()
#51 /home/vagrant/finddet/public/index.php(0): {main}()
#52 {main}
"} 

Environment

  • PHP: 7.4.6
  • OS: 9.11.3-1ubuntu1.13-Ubuntu - Vagrant Homebox
  • Laravel: 7.26.1
  • Model Caching: 0.10.1

Additional context

This seems to be a general issue, when using these packages, that uses the same general commands.
Presented in this issue: #137
lazychaser/laravel-nestedset#360

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions