2016-08-03 60 views
0

目前我正在完成我的計算機科學學位,我正在學習英語。EntityManager#merge()期望參數1是一個實體對象,給出NULL。

我有一個問題讓Symfony3中的會話對象名爲Waiter實體。

$em = $this->getDoctrine()->getManager(); 
    $session = $this->get('Session'); 
    $waiter = $em->merge($session->get('waiter')); 
    return $this->render('default/waitermngr.html.twig',array('admin'=>$waiter)); 

此代碼返回錯誤EntityManager#merge()期望參數1是一個實體對象,NULL給定。

然而$ session對象不爲空,因爲return new Response ((string)print_r($session));回報:

的Symfony \分量\ HttpFoundation \會議\ Session對象([存儲:保護] =>的Symfony \分量\ HttpFoundation \會議\存儲\ NativeSessionStorage對象( ([attributes:Symfony \ Component \ HttpFoundation \ Session \ Attribute \ AttributeBag:private] => Array [ Symfony \ Component \ HttpFoundation \ Session \ Attribute \ AttributeBag:private] => _sf2_attributes [attributes:protected] => Array([admin] => AppBundle \ Entity \ Waiter Object([idwaiter:protected] => 21 [loginwaiter:protected ] => Admin [passwdwaiter:protected] => 81dc9bdb52d04dc20036dbd8313ed055)) )[閃爍:=> Symfony \ Component \ HttpFoundation \ Session \ Flash \ FlashBag:private] => Array()[storageKey:Symfony \ Component \ HttpFoundation \ Session \ Flash \ FlashBag:private] => _sf2_flashes))[started:protected] => 1 [closed:protected] => [saveHandler :protected] => Symfony \ Component \ HttpFoundation \ Session \ Storage \ Proxy \ SessionHandlerProxy Object([handler:protected] => Symfony \ Component \ HttpFoundation \ Session \ Storage \ Handler \ NativeFileSessionHandler Object()[wrapper:protected] => Symfony \ Component \ HttpFoundation \ Session \ Storage \ MetadataBag:private] => __metadata [] [storageKey:Symfony \ Component \ HttpFoundation \ Session \ Storage \ MetadataBag:private] => _sf2_meta [meta:protected] => Array([u] = > 1470214147 [c] => 1470208976 [l] => 0)[lastUsed:Symfony \ Component \ HttpFoundation \ Session \ Storage \ MetadataBag:private] => 1470213715 [updateThreshold:Symfony \ Component \ HttpFoundation \ Session \ Storage \ MetadataBag:私人] => 0))[閃爍名稱:Symfony \組件\ HttpFoundation \ Session \ Session:提前致謝!

+0

'$會話級>的get( '服務員' )'返回'NULL'。很可能是因爲該會話中沒有任何內容存儲在該會話中,或者您在那裏存儲了一個文字'NULL'。 – ShiraNai7

回答

0

非常感謝ShiraNai7, 密鑰存儲在一個名爲 '管理' 而不是 '服務員'

$session->set('admin',$waiter); 

現在我得到

$session->get('admin')

相關問題