i have 2 table looks
emppf
id emp_id emp_name uan kyc
empyc
id emp_id doc_type doc_number
now have 2 models
emppf
<?php namespace app; use illuminate\database\eloquent\model; class emppf extends model { protected $table = 'emppf'; protected $primarykey = 'emp_id'; public function kyc(){ return $this->hasmany('app\empkyc','emp_id'); } }
empkyc
<?php namespace app; use illuminate\database\eloquent\model; class empkyc extends model { protected $table = 'empkyc'; //protected $primarykey = 'emp_id'; public function pf(){ return $this->belongsto('app\emppf','emp_id'); } }
i trying following code in controller
public function getpf(){ session::put('activemenu', 'emp_ss'); $pfs = emppf::with(array('kyc'))->get(); foreach ($pfs $value) { dd($value->kyc[0]->emp_id); } }
i getting error
trying property of non-object
any appreciated
stack trace
stack trace: #0 {main} [2016-06-07 06:52:36] local.error: exception 'errorexception' message 'trying property of non-object' in d:\iclock-production\app\http\controllers\hrcontroller.php:314 stack trace: #0 d:\iclock-production\app\http\controllers\hrcontroller.php(314): illuminate\foundation\bootstrap\handleexceptions->handleerror(8, 'trying p...', 'd:\\iclock-produ...', 314, array) #1 [internal function]: app\http\controllers\hrcontroller->getpf() #2 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\controller.php(256): call_user_func_array(array, array) #3 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\controllerdispatcher.php(164): illuminate\routing\controller->callaction('getpf', array) #4 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\controllerdispatcher.php(112): illuminate\routing\controllerdispatcher->call(object(app\http\controllers\hrcontroller), object(illuminate\routing\route), 'getpf') #5 [internal function]: illuminate\routing\controllerdispatcher->illuminate\routing\{closure}(object(illuminate\http\request)) #6 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(139): call_user_func(object(closure), object(illuminate\http\request)) #7 d:\iclock-production\app\http\middleware\role.php(38): illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #8 [internal function]: app\http\middleware\role->handle(object(illuminate\http\request), object(closure), 'hr') #9 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(124): call_user_func_array(array, array) #10 d:\iclock-production\app\http\middleware\authenticate.php(49): illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #11 [internal function]: app\http\middleware\authenticate->handle(object(illuminate\http\request), object(closure)) #12 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(124): call_user_func_array(array, array) #13 [internal function]: illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #14 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(103): call_user_func(object(closure), object(illuminate\http\request)) #15 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\controllerdispatcher.php(114): illuminate\pipeline\pipeline->then(object(closure)) #16 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\controllerdispatcher.php(69): illuminate\routing\controllerdispatcher->callwithinstack(object(app\http\controllers\hrcontroller), object(illuminate\routing\route), object(illuminate\http\request), 'getpf') #17 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\route.php(203): illuminate\routing\controllerdispatcher->dispatch(object(illuminate\routing\route), object(illuminate\http\request), 'app\\http\\contro...', 'getpf') #18 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\route.php(134): illuminate\routing\route->runwithcustomdispatcher(object(illuminate\http\request)) #19 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\router.php(708): illuminate\routing\route->run(object(illuminate\http\request)) #20 [internal function]: illuminate\routing\router->illuminate\routing\{closure}(object(illuminate\http\request)) #21 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(139): call_user_func(object(closure), object(illuminate\http\request)) #22 [internal function]: illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #23 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(103): call_user_func(object(closure), object(illuminate\http\request)) #24 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\router.php(710): illuminate\pipeline\pipeline->then(object(closure)) #25 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\router.php(675): illuminate\routing\router->runroutewithinstack(object(illuminate\routing\route), object(illuminate\http\request)) #26 d:\iclock-production\vendor\laravel\framework\src\illuminate\routing\router.php(635): illuminate\routing\router->dispatchtoroute(object(illuminate\http\request)) #27 d:\iclock-production\vendor\laravel\framework\src\illuminate\foundation\http\kernel.php(236): illuminate\routing\router->dispatch(object(illuminate\http\request)) #28 [internal function]: illuminate\foundation\http\kernel->illuminate\foundation\http\{closure}(object(illuminate\http\request)) #29 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(139): call_user_func(object(closure), object(illuminate\http\request)) #30 d:\iclock-production\vendor\lucadegasperi\oauth2-server-laravel\src\middleware\oauthexceptionhandlermiddleware.php(36): illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #31 [internal function]: lucadegasperi\oauth2server\middleware\oauthexceptionhandlermiddleware->handle(object(illuminate\http\request), object(closure)) #32 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(124): call_user_func_array(array, array) #33 d:\iclock-production\vendor\laravel\framework\src\illuminate\view\middleware\shareerrorsfromsession.php(49): illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #34 [internal function]: illuminate\view\middleware\shareerrorsfromsession->handle(object(illuminate\http\request), object(closure)) #35 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(124): call_user_func_array(array, array) #36 d:\iclock-production\vendor\laravel\framework\src\illuminate\session\middleware\startsession.php(62): illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #37 [internal function]: illuminate\session\middleware\startsession->handle(object(illuminate\http\request), object(closure)) #38 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(124): call_user_func_array(array, array) #39 d:\iclock-production\vendor\laravel\framework\src\illuminate\cookie\middleware\addqueuedcookiestoresponse.php(37): illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #40 [internal function]: illuminate\cookie\middleware\addqueuedcookiestoresponse->handle(object(illuminate\http\request), object(closure)) #41 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(124): call_user_func_array(array, array) #42 d:\iclock-production\vendor\laravel\framework\src\illuminate\cookie\middleware\encryptcookies.php(59): illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #43 [internal function]: illuminate\cookie\middleware\encryptcookies->handle(object(illuminate\http\request), object(closure)) #44 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(124): call_user_func_array(array, array) #45 d:\iclock-production\vendor\laravel\framework\src\illuminate\foundation\http\middleware\checkformaintenancemode.php(44): illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #46 [internal function]: illuminate\foundation\http\middleware\checkformaintenancemode->handle(object(illuminate\http\request), object(closure)) #47 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(124): call_user_func_array(array, array) #48 [internal function]: illuminate\pipeline\pipeline->illuminate\pipeline\{closure}(object(illuminate\http\request)) #49 d:\iclock-production\vendor\laravel\framework\src\illuminate\pipeline\pipeline.php(103): call_user_func(object(closure), object(illuminate\http\request)) #50 d:\iclock-production\vendor\laravel\framework\src\illuminate\foundation\http\kernel.php(122): illuminate\pipeline\pipeline->then(object(closure)) #51 d:\iclock-production\vendor\laravel\framework\src\illuminate\foundation\http\kernel.php(87): illuminate\foundation\http\kernel->sendrequestthroughrouter(object(illuminate\http\request)) #52 d:\iclock-production\public\index.php(54): illuminate\foundation\http\kernel->handle(object(illuminate\http\request)) #53 d:\iclock-production\server.php(21): require_once('d:\\iclock-produ...') #54 {main}
thanks
you have check if pfs model has related kyc first:
foreach ($pfs $value) { if ( $value->kyc->count() ) { dd( $value->kyc[0]->emp_id ); } }