sonata_type_model_listと継承エンティティに関する問題があります。ソナタsonata_type_model_listおよび継承エンティティ
私は、これらのエンティティ
/**
* @ORM\Entity()
*/
class Contract
{
/**
* @var Provider
*
* @ORM\ManyToOne(targetEntity="Provider")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="provider_id", referencedColumnName="id")
* })
*/
private $provider;
...
}
と
use Sonata\UserBundle\Entity\BaseUser as BaseUser;
/**
* User
*
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="user_type", type="string")
* @ORM\DiscriminatorMap(
* {
* "app_user" = "User",
* "provider" = "AppBundle\Entity\Provider",
* }
*)
* @ORM\Table(name="fos_user_user", options={"charset"="utf8", "collate"="utf8_bin"})
*/
class User extends BaseUser
{
とプロバイダエンティティ
namespace AppBundle\Entity;
use Application\Sonata\UserBundle\Entity\User;
/**
* @ORM\Entity()
*/
class Provider extends User
{
は私が
admin.contract:
class: AppBundle\Admin\ContractAdmin
arguments: [~, AppBundle\Entity\Contract, ~]
tags:
- { name: sonata.admin, manager_type: orm, label: label.contracts, group: label.contracts }
calls:
- [setTranslationDomain, [SonataAdminBundle]]
ContractAdmin
作られてい
と
use Sonata\AdminBundle\Admin\AbstractAdmin;
class ContractAdmin extends AbstractAdmin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper->add(
'provider',
'sonata_type_model_list',
[
'class' => 'AppBundle\Entity\Provider',
],
と私はプロバイダを追加しようとしたときに処理している間、私はエラー
は、例外がスローされたました:インポッシブルヌルにする方法 (「ID」)を呼び出すために 内の変数 ライン59
で「::フォームSonataDoctrineORMAdminBundle form_admin_fields.html.twig」私は唯一のプロバイダを検索し、追加したいです契約エンティティへのユーザー SonataはProviderまたはUserエンティティ(NULL)を見つけることができず、これをContractAdminでどのように接続するかわかりません。
ここでは何ができますか?
ありがとうございます。