經過多次不成功的嘗試,我來找你們的朋友。代symfony形式
實體user.php的
/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity(repositoryClass="AA\UserBundle\Repository\UserRepository")
*/
class User extends BaseUser
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToMany(targetEntity="AA\TestBundle\Entity\Themes", cascade={"persist"})
* @ORM\JoinTable(name="users_themes")
*/
protected $themes;
實體Themes.php
/**
* @ORM\Entity
*/
class Themes
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
我的表的主題包含不同的主題,如 「運動」, 「烹飪」 等的標識和名稱字段...
我有兩個user_id和themes_id字段的「user_themes」主題和用戶之間的關係表。
所以我想顯示的形式給我的用戶的主題,我用的EntityType繼續現在:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('themes', EntityType::class, array(
'class' => 'AAUserBundle:User',
'choice_label' => 'themes',
'multiple' => true,
))
->add('save', SubmitType::class, array(
'label' => 'test !'
));
}
我有以下錯誤:
Catchable Fatal Error: Object of class Doctrine\ORM\PersistentCollection could not be converted to string
我明白錯誤,大主題是一個數組,所以它不能顯示它。具體來說,我想要的是使一個themes.name檢索用戶的主題名稱列表。
我真的不知道採用什麼方法。
謝謝你的幫助。
這個。
您是否使用過'public function __toString()'? –
是的我試過這個,但symfony返回相同的錯誤可捕獲的致命錯誤:類Doctrine \ ORM \ PersistentCollection的對象不能轉換爲字符串 –
和什麼樣的數據是PersistentCollection? –