mikebronner / laravel-model-caching

Eloquent model-caching made easy.
MIT License
2.26k stars 217 forks source link

Exception: Property [id] does not exist on this collection instance #188

Closed mrahmadt closed 5 years ago

mrahmadt commented 5 years ago

Describe the bug ModelX::find($id) will work fine but if I use ModelX::select('id','access_status')->where($if,$id)->get() it will raise error

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

 ModelX::select('id','access_status')->where($if,$id)->get()

Stack Trace

Exception: Property [id] does not exist on this collection instance. in /var/www/html/pcdev/vendor/illuminate/support/Collection.php:1923
Stack trace:
#0 /var/www/html/pcdev/app/Models/iOSMDMCallBack.php(57): Illuminate\Support\Collection->__get('id')
#1 [internal function]: App\Models\iOSMDMCallBack::updateChildAccessStatus(Array, Object(stdClass), Object(App\Models\Device))
#2 /var/www/html/pcdev/app/Http/Controllers/iOSMDMServerController.php(115): call_user_func('\\App\\Models\\iOS...', Array, Object(stdClass), Object(App\Models\Device))
#3 [internal function]: App\Http\Controllers\iOSMDMServerController->command('1', Object(Laravel\Lumen\Http\Request))
#4 /var/www/html/pcdev/vendor/illuminate/container/BoundMethod.php(29): call_user_func_array(Array, Array)
#5 /var/www/html/pcdev/vendor/illuminate/container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#6 /var/www/html/pcdev/vendor/illuminate/container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(Laravel\Lumen\Application), Array, Object(Closure))
#7 /var/www/html/pcdev/vendor/illuminate/container/Container.php(572): Illuminate\Container\BoundMethod::call(Object(Laravel\Lumen\Application), Array, Array, NULL)
#8 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(376): Illuminate\Container\Container->call(Array, Array)
#9 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(342): Laravel\Lumen\Application->callControllerCallable(Array, Array)
#10 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(316): Laravel\Lumen\Application->callLumenController(Object(App\Http\Controllers\iOSMDMServerController), 'command', Array)
#11 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(278): Laravel\Lumen\Application->callControllerAction(Array)
#12 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(263): Laravel\Lumen\Application->callActionOnArrayBasedRoute(Array)
#13 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(233): Laravel\Lumen\Application->handleFoundRoute(Array)
#14 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(167): Laravel\Lumen\Application->handleDispatcherResponse(Array)
#15 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(416): Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}()
#16 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(169): Laravel\Lumen\Application->sendThroughPipeline(Array, Object(Closure))
#17 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(108): Laravel\Lumen\Application->dispatch(NULL)
#18 /var/www/html/pcdev/public/index.php(28): Laravel\Lumen\Application->run()
#19 {main} {"exception":"[object] (Exception(code: 0): Property [id] does not exist on this collection instance. at /var/www/html/pcdev/vendor/illuminate/support/Collection.php:1923)
[stacktrace]
#0 /var/www/html/pcdev/app/Models/iOSMDMCallBack.php(57): Illuminate\\Support\\Collection->__get('id')
#1 [internal function]: App\\Models\\iOSMDMCallBack::updateChildAccessStatus(Array, Object(stdClass), Object(App\\Models\\Device))
#2 /var/www/html/pcdev/app/Http/Controllers/iOSMDMServerController.php(115): call_user_func('\\\\App\\\\Models\\\\iOS...', Array, Object(stdClass), Object(App\\Models\\Device))
#3 [internal function]: App\\Http\\Controllers\\iOSMDMServerController->command('1', Object(Laravel\\Lumen\\Http\\Request))
#4 /var/www/html/pcdev/vendor/illuminate/container/BoundMethod.php(29): call_user_func_array(Array, Array)
#5 /var/www/html/pcdev/vendor/illuminate/container/BoundMethod.php(87): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#6 /var/www/html/pcdev/vendor/illuminate/container/BoundMethod.php(31): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Laravel\\Lumen\\Application), Array, Object(Closure))
#7 /var/www/html/pcdev/vendor/illuminate/container/Container.php(572): Illuminate\\Container\\BoundMethod::call(Object(Laravel\\Lumen\\Application), Array, Array, NULL)
#8 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(376): Illuminate\\Container\\Container->call(Array, Array)
#9 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(342): Laravel\\Lumen\\Application->callControllerCallable(Array, Array)
#10 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(316): Laravel\\Lumen\\Application->callLumenController(Object(App\\Http\\Controllers\\iOSMDMServerController), 'command', Array)
#11 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(278): Laravel\\Lumen\\Application->callControllerAction(Array)
#12 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(263): Laravel\\Lumen\\Application->callActionOnArrayBasedRoute(Array)
#13 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(233): Laravel\\Lumen\\Application->handleFoundRoute(Array)
#14 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(167): Laravel\\Lumen\\Application->handleDispatcherResponse(Array)
#15 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(416): Laravel\\Lumen\\Application->Laravel\\Lumen\\Concerns\\{closure}()
#16 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(169): Laravel\\Lumen\\Application->sendThroughPipeline(Array, Object(Closure))
#17 /var/www/html/pcdev/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php(108): Laravel\\Lumen\\Application->dispatch(NULL)
#18 /var/www/html/pcdev/public/index.php(28): Laravel\\Lumen\\Application->run()
#19 {main}
"}

Environment

Additional context Add any other context about the problem here.

mikebronner commented 5 years ago

@mrahmadt Hmm, I'm wondering: shouldn't the query work like this:

ModelX::where($if,$id)->select('id','access_status');
mikebronner commented 5 years ago

Closing this for now. Please reopen if issue persists.