I got a master class TextDescription divided in 2 classes Comment and Editorial.
The TextDescription class is linked in a OneToOne relation with a FullText Class in a uni-direccional way.
When i try, with the sonataadmin bundle to edit a comment with the inline edit of my textfull class, i received an error: undefined index: description
le code de ma class textDescription:
- Code: Select all
<?php
namespace sys4win\segundaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Timestampable\Timestampable;
/**
* @ORM\Table(name="textdescriptions")
* @ORM\Entity(repositoryClass="sys4win\segundaBundle\Entity\TextDescriptionRepository")
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="texttype", type="string")
* @ORM\DiscriminatorMap({"comment"="Comment","editorial"="Editorial"})
*/
class TextDescription
{
/**
* @var integer $id
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @var string $title
* @ORM\Column(name="title", type="string", length="100")
*/
protected $title;
/**
* @ORM\OneToOne (targetEntity="TextFull")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="fulltext_id", referencedColumnName="id")
* })
*/
protected $textfull;
...
Le code de ma classe TextFull
- Code: Select all
<?php
namespace sys4win\segundaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* sys4win\segundaBundle\Entity\TextFull
*
* @ORM\Entity
* @ORM\Table(name="text_fulltext")
*/
class TextFull
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var text $titulo
*
* @ORM\Column(name="description", type="text", nullable=false)
*/
private $description;
/**
* @var boolean $isvalid
*
* @ORM\Column(name="isvalid", type="boolean", nullable=true)
*/
private $isvalid;
...
le code de ma classe comment
- Code: Select all
<?php
namespace sys4win\segundaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Timestampable\Timestampable;
use sys4win\segundaBundle\Entity\PerformanceRepository as PerformanceRepo;
/**
* @ORM\Entity(repositoryClass="sys4win\segundaBundle\Entity\CommentRepository")
*
*/
class Comment extends TextDescription{
/**
* @ORM\ManyToOne(targetEntity="Performance", inversedBy="comments")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="performanceid", referencedColumnName="id")
* })
*/
private $performance;
/**
* @var string $author
* @ORM\Column(name="author", type="string", length="100")
*/
private $author;
/**
* @ORM\ManyToOne(targetEntity="\sys4win\UserBundle\Entity\User", inversedBy="comments")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="authoruser_id", referencedColumnName="id")
* })
*/
private $authoruser;
...
la fonction de ma classe CommentAdmin
- Code: Select all
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->with("General")
->add('title')
->add('performance', 'sonata_type_model', array(), array())
->add('isvalid', 'sonata_type_boolean')
->add('enhome', 'sonata_type_boolean')
->add('authoruser', 'sonata_type_model', array(), array())
->end()
->with("Texto")
->add('TextFull', 'sonata_type_model', array(), array('edit' => 'inline'))
->end()
;
}
The services:
- Code: Select all
sys4win.segunda.admin.comment:
class: sys4win\segundaBundle\Admin\CommentAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: admin, label: EnCartel}
arguments: [null, sys4win\segundaBundle\Entity\Comment, SonataAdminBundle:CRUD]
sys4win.segunda.admin.textfull:
class: sys4win\segundaBundle\Admin\TextFullAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: admin, label: texto }
arguments: [null, sys4win\segundaBundle\Entity\TextFull, SonataAdminBundle:CRUD]
The message i receive is
An exception has been thrown during the rendering of a template ("Notice: Undefined index: description in D:\wamp\www\dev2\segunda\vendor\symfony\src\Symfony\Component\Form\FormView.php line 212") in SonataDoctrineORMAdminBundle:CRUD:edit_orm_one_to_one.html.twig at line 16.
My log (but i don(t know if it would be possible to get more info...)
2012-04-05 18:43:47] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest". [] []
[2012-04-05 18:43:47] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\RouterListener::onEarlyKernelRequest". [] []
[2012-04-05 18:43:47] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest". [] []
[2012-04-05 18:43:47] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] []
[2012-04-05 18:43:47] security.DEBUG: Read SecurityContext from the session [] []
[2012-04-05 18:43:47] security.DEBUG: Reloading user from user provider. [] []
[2012-04-05 18:43:48] doctrine.DEBUG: SET NAMES UTF8 ([]) [] []
[2012-04-05 18:43:48] doctrine.DEBUG: SELECT t0.username AS username1, t0.username_canonical AS username_canonical2, t0.email AS email3, t0.email_canonical AS email_canonical4, t0.enabled AS enabled5, t0.salt AS salt6, t0.password AS password7, t0.last_login AS last_login8, t0.locked AS locked9, t0.expired AS expired10, t0.expires_at AS expires_at11, t0.confirmation_token AS confirmation_token12, t0.password_requested_at AS password_requested_at13, t0.roles AS roles14, t0.credentials_expired AS credentials_expired15, t0.credentials_expire_at AS credentials_expire_at16, t0.id AS id17, t0.firstname AS firstname18, t0.lastname AS lastname19, t0.facebookId AS facebookId20 FROM fos_user t0 WHERE t0.username_canonical = ? (["bertinl"]) [] []
[2012-04-05 18:43:49] security.DEBUG: Username "bertinl" was reloaded from user provider. [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.request" to listener "sys4win\segundaBundle\Listener\DoctrineExtensionListener::onKernelRequest". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\RouterListener::onKernelRequest". [] []
[2012-04-05 18:43:49] request.INFO: Matched route "admin_sys4win_segunda_editorial_create" (parameters: "_controller": "Sonata\AdminBundle\Controller\CRUDController::createAction", "_sonata_admin": "sys4win.segunda.admin.editorial", "_sonata_name": "admin_sys4win_segunda_editorial_create", "_route": "admin_sys4win_segunda_editorial_create") [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\AsseticBundle\EventListener\RequestListener::onKernelRequest". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.request" to listener "SimpleThings\EntityAudit\Request\CurrentUserListener::handle". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.request" to listener "sys4win\segundaBundle\Listener\DoctrineExtensionListener::onLateKernelRequest". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector::onKernelController". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.controller" to listener "Acme\DemoBundle\ControllerListener::onKernelController". [] []
[2012-04-05 18:43:49] event.DEBUG: Notified event "kernel.controller" to listener "JMS\SecurityExtraBundle\Controller\ControllerListener::onCoreController". [] []
[2012-04-05 18:43:50] doctrine.DEBUG: SELECT t0.username AS username1, t0.username_canonical AS username_canonical2, t0.email AS email3, t0.email_canonical AS email_canonical4, t0.enabled AS enabled5, t0.salt AS salt6, t0.password AS password7, t0.last_login AS last_login8, t0.locked AS locked9, t0.expired AS expired10, t0.expires_at AS expires_at11, t0.confirmation_token AS confirmation_token12, t0.password_requested_at AS password_requested_at13, t0.roles AS roles14, t0.credentials_expired AS credentials_expired15, t0.credentials_expire_at AS credentials_expire_at16, t0.id AS id17, t0.firstname AS firstname18, t0.lastname AS lastname19, t0.facebookId AS facebookId20 FROM fos_user t0 ([]) [] []
[2012-04-05 18:43:50] doctrine.DEBUG: SELECT t0.id AS id1, t0.description AS description2, t0.isvalid AS isvalid3 FROM text_fulltext t0 ([]) [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\Security\Http\Firewall\ExceptionListener::onKernelException". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\HttpKernel\EventListener\ExceptionListener::onKernelException". [] []
[2012-04-05 18:44:10] request.CRITICAL: Twig_Error_Runtime: An exception has been thrown during the rendering of a template ("Notice: Undefined index: description in D:\wamp\www\dev2\segunda\vendor\symfony\src\Symfony\Component\Form\FormView.php line 212") in "SonataDoctrineORMAdminBundle:CRUD:edit_orm_one_to_one.html.twig" at line 16. (uncaught exception) at D:\wamp\www\dev2\segunda\vendor\twig\lib\Twig\Template.php line 273 [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\RouterListener::onEarlyKernelRequest". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "sys4win\segundaBundle\Listener\DoctrineExtensionListener::onKernelRequest". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\RouterListener::onKernelRequest". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\AsseticBundle\EventListener\RequestListener::onKernelRequest". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "SimpleThings\EntityAudit\Request\CurrentUserListener::handle". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.request" to listener "sys4win\segundaBundle\Listener\DoctrineExtensionListener::onLateKernelRequest". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector::onKernelController". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.controller" to listener "Acme\DemoBundle\ControllerListener::onKernelController". [] []
[2012-04-05 18:44:10] event.DEBUG: Notified event "kernel.controller" to listener "JMS\SecurityExtraBundle\Controller\ControllerListener::onCoreController". [] []
[2012-04-05 18:44:12] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse". [] []
[2012-04-05 18:44:12] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse". [] []
[2012-04-05 18:44:12] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\SecurityBundle\EventListener\ResponseListener::onKernelResponse". [] []
[2012-04-05 18:44:12] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bridge\Monolog\Handler\FirePHPHandler::onKernelResponse". [] []
[2012-04-05 18:44:12] event.DEBUG: Notified event "kernel.response" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\CacheListener::onKernelResponse". [] []
[2012-04-05 18:44:12] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse". [] []
[2012-04-05 18:44:13] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse". [] []
[2012-04-05 18:44:13] event.DEBUG: Listener "Symfony\Component\HttpKernel\EventListener\ExceptionListener::onKernelException" stopped propagation of the event "kernel.exception". [] []
[2012-04-05 18:44:13] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse". [] []
[2012-04-05 18:44:13] security.DEBUG: Write SecurityContext in the session [] []
[2012-04-05 18:44:13] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse". [] []
[2012-04-05 18:44:13] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\SecurityBundle\EventListener\ResponseListener::onKernelResponse". [] []
[2012-04-05 18:44:13] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bridge\Monolog\Handler\FirePHPHandler::onKernelResponse". [] []
[2012-04-05 18:44:13] event.DEBUG: Notified event "kernel.response" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\CacheListener::onKernelResponse". [] []
[2012-04-05 18:44:13] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse". [] []
[2012-04-05 18:44:14] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse". [] []
Would it be because it is unidireccional ? I am stuck on it for 3 days now and don't have any clue
