2
我已成立了一個Symfony2的項目,索納塔和FOS用戶捆綁安裝時Symfony2中未定義指數編輯/刪除實體「團隊」與FOS用戶
我產生延伸BaseUser一個自定義的用戶類。這是一個摘錄:
namespace Application\Sonata\UserBundle\Entity;
use Sonata\UserBundle\Entity\BaseUser as BaseUser;
use Doctrine\ORM\Mapping as ORM;
class User extends BaseUser {
..
/**
* @ORM\ManyToOne(targetEntity="MyProject\UserBundle\Entity\Team", inversedBy="members")
* @ORM\JoinColumn(type="integer", name="team_id", referencedColumnName="id", nullable=true)
*/
protected $team;
public function setTeam(\MyProject\UserBundle\Entity\Team $team)
{
$this->team = $team;
}
public function getTeam()
{
return $this->team;
}
我也有一個實體的「團隊」,可以容納一些用戶。這是一個摘錄:
class Team {
/**
* @ORM\OneToMany(targetEntity="Application\Sonata\UserBundle\Entity\User", mappedBy="team")
*/
protected $members;
public function setMembers(\Doctrine\Common\Collections\ArrayCollection $members)
{
$this->members = $members;
}
public function getMembers()
{
return $this->members;
}
我使用Sonata Admin軟件包來執行基本的CRUD。 創建了一支具有一些用戶是沒有問題的
<?php
class TeamAdmin extends Admin {
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('members', 'entity', array(
'required' => FALSE,
'class' => 'ApplicationSonataUserBundle:User',
'property' => 'username',
'label' => 'Team members',
'multiple' => TRUE,
))
;
}
當我進入一隊的編輯畫面,或刪除時,問題上升。
注意:未定義指數:球隊在/Users/sven/projects/MyProject/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php線1575
我讀了有關此錯誤的十幾條線程,但他們都告訴我,我在註釋中使用了正確的字段名稱和列名稱。 這是否有擴展BaseUser類的東西嗎?
在這方面的任何幫助表示讚賞!
是的,我做到了。但即使我忘記了這一點,setMembers函數也會執行此初始化 – user1926848