PHP error: Call to a member function format() on string - php

i have a problem, i don't know where is the problem come from. When i save my data to server, i've got error Call to a member function format() on string.
This is my Controller code:
public function newAction(Request $request)
{
$this->denyAccessUnlessGranted('ROLE_HRM_SALARY_ADJUSTMENT_CREATE');
$corp = $this->getSelectedCorporationEntity();
$entity = new SalaryAdjustment();
$entity->setCorporation($corp);
if ($request->isMethod('POST')) {
$data = json_decode($request->getContent());
dump($data);
//$this->validationBeforeProgress('new', $data, $data->level, '', $data->docType);
$employeeEntity = $this->getDoctrine()->getRepository(Employee::class)->find($data->employee);
$entity->setEmployee($employeeEntity);
$entity->setNumber($data->number);
$entity->setEffectiveDate($data->effectiveDate);
$entity->setReference($data->reference);
$entity->setReferenceNumber($data->referenceNumber);
$entity->setRemarks($data->remarks);
$entity->setApprove(false);
$entity->setVoid(false);
$entity->setCreatedBy($this->getCurrentUser()->getUsername());
$entity->setCreatedDate(new \DateTime());
$em = $this->getEM();
$this->validateEntity($entity);
$em->persist($entity);
$newEntityDetail = $data->detail;
if (count($newEntityDetail) > 0) {
foreach ($newEntityDetail as $item) {
dump($item);
if ($item->newValue > 0 || $item->oldValue > 0){
$entityDetail = new SalaryAdjustmentDetail();
$lookupSalaryEntity = $this->getDoctrine()->getRepository(LookupSalary::class)->find($item->lookupSalaryId);
$entityDetail->setLookupSalary($lookupSalaryEntity);
if ($item->oldEffectiveDate != null) {
$entityDetail->setOldEffectiveDate($item->oldEffectiveDate);
}
$entityDetail->setOldValue($item->oldValue);
$entityDetail->setNewValue($item->newValue);
$entityDetail->setSalaryAdjustment($entity);
$this->validateEntity($entityDetail);
$em->persist($entityDetail);
}
}
} else {
throw new \Exception('Detail must be have minimal 1 row');
}
$em->flush();
}
return new JsonResponse(['data' => 'Done']);
}
the error come from when the code $em->flush(). I feel the problem come from when the code $entityDetail->setOldValue($item->oldValue); and entityDetail->setNewValue($item->newValue); because i'm using decimal type in entity for the first time.
i use 2 entity for save my data, the entity is SalaryAdjustment and SalaryAdjustmentDetail. There is the code:
class SalaryAdjustment
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #ORM\OneToMany(targetEntity="SalaryAdjustmentDetail", mappedBy="salaryAdjustment", cascade={"persist", "remove"})
*/
private $salaryAdjustmentDetail;
public function __construct() {
$this->salaryAdjustmentDetail = new ArrayCollection();
}
/**
* #ORM\ManyToOne(targetEntity="Dsp\DspAppsBundle\Entity\HRM\Employee\Employee")
* #ORM\JoinColumn(name="employee_id", referencedColumnName="id", nullable=false)
*/
private $employee;
/**
* #ORM\ManyToOne(targetEntity="Dsp\DspAdministrationBundle\Entity\Corporation")
* #ORM\JoinColumn(name="corporation_id", referencedColumnName="id", nullable=false)
*/
private $corporation;
/**
* #var string
*
* #ORM\Column(name="number", type="string", length=20)
*/
private $number;
/**
* #var \DateTime
*
* #ORM\Column(name="effective_date", type="date")
*/
private $effectiveDate;
/**
* #var string
*
* #ORM\Column(name="reference", type="string", length=50, nullable=true)
*/
private $reference;
/**
* #var string
*
* #ORM\Column(name="reference_number", type="string", length=100, nullable=true)
*/
private $referenceNumber;
/**
* #var string
*
* #ORM\Column(name="remarks", type="string", length=300, nullable=true)
*/
private $remarks;
/**
* #var bool
*
* #ORM\Column(name="approve", type="boolean")
*/
private $approve;
/**
* #var bool
*
* #ORM\Column(name="void", type="boolean")
*/
private $void;
/**
* #var string
*
* #ORM\Column(name="created_by", type="string", length=50)
*/
private $createdBy;
/**
* #var \DateTime
*
* #ORM\Column(name="created_date", type="datetime")
*/
private $createdDate;
/**
* #var string
*
* #ORM\Column(name="modified_by", type="string", length=50, nullable=true)
*/
private $modifiedBy;
/**
* #var \DateTime
*
* #ORM\Column(name="modified_date", type="datetime", nullable=true)
*/
private $modifiedDate;
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Add salaryAdjustmentDetail
*
* #param \Dsp\DspAppsBundle\Entity\HRM\SalaryAdjustment\SalaryAdjustmentDetail $salaryAdjustmentDetail
*
* #return SalaryAdjustment
*/
public function addSalaryAdjustmentDetail(SalaryAdjustmentDetail $salaryAdjustmentDetail)
{
$this->salaryAdjustmentDetail[] = $salaryAdjustmentDetail;
return $this;
}
/**
* Remove salaryAdjustmentDetail
*
* #param \Dsp\DspAppsBundle\Entity\HRM\SalaryAdjustment\SalaryAdjustmentDetail $salaryAdjustmentDetail
*/
public function removeSalaryAdjustmentDetail(\Dsp\DspAppsBundle\Entity\HRM\SalaryAdjustment\SalaryAdjustmentDetail $salaryAdjustmentDetail)
{
$this->salaryAdjustmentDetail->removeElement($salaryAdjustmentDetail);
}
/**
* Set employee
*
* #param \Dsp\DspAppsBundle\Entity\HRM\Employee\Employee $employee
*
* #return SalaryAdjustment
*/
public function setEmployee(\Dsp\DspAppsBundle\Entity\HRM\Employee\Employee $employee)
{
$this->employee = $employee;
return $this;
}
/**
* Get employee
*
* #return \Dsp\DspAppsBundle\Entity\HRM\Employee\Employee
*/
public function getEmployee()
{
return $this->employee;
}
/**
* Set corporation
*
* #param \Dsp\DspAdministrationBundle\Entity\Corporation $corporation
*
* #return SalaryAdjustment
*/
public function setCorporation(\Dsp\DspAdministrationBundle\Entity\Corporation $corporation)
{
$this->corporation = $corporation;
return $this;
}
/**
* Get corporation
*
* #return \Dsp\DspAdministrationBundle\Entity\Corporation
*/
public function getCorporation()
{
return $this->corporation;
}
/**
* Set number
*
* #param string $number
*
* #return SalaryAdjustment
*/
public function setNumber($number)
{
$this->number = $number;
return $this;
}
/**
* Get number
*
* #return string
*/
public function getNumber()
{
return $this->number;
}
/**
* Set effectiveDate
*
* #param \DateTime $effectiveDate
*
* #return SalaryAdjustment
*/
public function setEffectiveDate($effectiveDate)
{
$this->effectiveDate = $effectiveDate;
return $this;
}
/**
* Get effectiveDate
*
* #return \DateTime
*/
public function getEffectiveDate()
{
return $this->effectiveDate;
}
/**
* Set reference
*
* #param string $reference
*
* #return SalaryAdjustment
*/
public function setReference($reference)
{
$this->reference = $reference;
return $this;
}
/**
* Get reference
*
* #return string
*/
public function getReference()
{
return $this->reference;
}
/**
* Set referenceNumber
*
* #param string $referenceNumber
*
* #return SalaryAdjustment
*/
public function setReferenceNumber($referenceNumber)
{
$this->referenceNumber = $referenceNumber;
return $this;
}
/**
* Get referenceNumber
*
* #return string
*/
public function getReferenceNumber()
{
return $this->referenceNumber;
}
/**
* Set remarks
*
* #param string $remarks
*
* #return SalaryAdjustment
*/
public function setRemarks($remarks)
{
$this->remarks = $remarks;
return $this;
}
/**
* Get remarks
*
* #return string
*/
public function getRemarks()
{
return $this->remarks;
}
/**
* Set approve
*
* #param boolean $approve
*
* #return SalaryAdjustment
*/
public function setApprove($approve)
{
$this->approve = $approve;
return $this;
}
/**
* Get approve
*
* #return bool
*/
public function getApprove()
{
return $this->approve;
}
/**
* Set void
*
* #param boolean $void
*
* #return SalaryAdjustment
*/
public function setVoid($void)
{
$this->void = $void;
return $this;
}
/**
* Get void
*
* #return bool
*/
public function getVoid()
{
return $this->void;
}
/**
* Set createdBy
*
* #param string $createdBy
*
* #return SalaryAdjustment
*/
public function setCreatedBy($createdBy)
{
$this->createdBy = $createdBy;
return $this;
}
/**
* Get createdBy
*
* #return string
*/
public function getCreatedBy()
{
return $this->createdBy;
}
/**
* Set createdDate
*
* #param \DateTime $createdDate
*
* #return SalaryAdjustment
*/
public function setCreatedDate($createdDate)
{
$this->createdDate = $createdDate;
return $this;
}
/**
* Get createdDate
*
* #return \DateTime
*/
public function getCreatedDate()
{
return $this->createdDate;
}
/**
* Set modifiedBy
*
* #param string $modifiedBy
*
* #return SalaryAdjustment
*/
public function setModifiedBy($modifiedBy)
{
$this->modifiedBy = $modifiedBy;
return $this;
}
/**
* Get modifiedBy
*
* #return string
*/
public function getModifiedBy()
{
return $this->modifiedBy;
}
/**
* Set modifiedDate
*
* #param \DateTime $modifiedDate
*
* #return SalaryAdjustment
*/
public function setModifiedDate($modifiedDate)
{
$this->modifiedDate = $modifiedDate;
return $this;
}
/**
* Get modifiedDate
*
* #return \DateTime
*/
public function getModifiedDate()
{
return $this->modifiedDate;
}
}
And this is my SalaryAdjustmentDetail:
class SalaryAdjustmentDetail
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #ORM\ManyToOne(targetEntity="Dsp\DspAppsBundle\Entity\HRM\Lookup\LookupSalary")
* #ORM\JoinColumn(name="lookup_salary_id", referencedColumnName="id", nullable=false)
*/
private $lookupSalary;
/**
* #ORM\ManyToOne(targetEntity="Dsp\DspAppsBundle\Entity\HRM\SalaryAdjustment\SalaryAdjustment", inversedBy="SalaryAdjustmentDetail")
* #ORM\JoinColumn(name="salary_adjustment_id", referencedColumnName="id", onDelete="CASCADE", nullable=false)
*/
private $salaryAdjustment;
/**
* #var \DateTime
*
* #ORM\Column(name="old_effective_date", type="date", nullable=true)
*/
private $oldEffectiveDate;
/**
* #var string
*
* #ORM\Column(name="old_value", type="decimal", precision=20, scale=4)
*/
private $oldValue;
/**
* #var string
*
* #ORM\Column(name="new_value", type="decimal", precision=20, scale=4)
*/
private $newValue;
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Set lookupSalary
*
* #param \Dsp\DspAppsBundle\Entity\HRM\Lookup\LookupSalary $lookupSalary
*
* #return SalaryAdjustmentDetail
*/
public function setLookupSalary(\Dsp\DspAppsBundle\Entity\HRM\Lookup\LookupSalary $lookupSalary)
{
$this->lookupSalary = $lookupSalary;
return $this;
}
/**
* Get lookupSalary
*
* #return \Dsp\DspAppsBundle\Entity\HRM\Lookup\LookupSalary
*/
public function getLookupSalary()
{
return $this->lookupSalary;
}
/**
* Set salaryAdjustment
*
* #param \Dsp\DspAppsBundle\Entity\HRM\SalaryAdjustment\SalaryAdjustment $salaryAdjustment
*
* #return SalaryAdjustmentDetail
*/
public function setSalaryAdjustment(\Dsp\DspAppsBundle\Entity\HRM\SalaryAdjustment\SalaryAdjustment $salaryAdjustment)
{
$this->salaryAdjustment = $salaryAdjustment;
return $this;
}
/**
* Get salaryAdjustment
*
* #return \Dsp\DspAppsBundle\Entity\HRM\SalaryAdjustment\SalaryAdjustment
*/
public function getSalaryAdjustment()
{
return $this->salaryAdjustment;
}
/**
* Set oldEffectiveDate
*
* #param \DateTime $oldEffectiveDate
*
* #return SalaryAdjustmentDetail
*/
public function setOldEffectiveDate($oldEffectiveDate)
{
$this->oldEffectiveDate = $oldEffectiveDate;
return $this;
}
/**
* Get oldEffectiveDate
*
* #return \DateTime
*/
public function getOldEffectiveDate()
{
return $this->oldEffectiveDate;
}
/**
* Set oldValue
*
* #param string $oldValue
*
* #return SalaryAdjustmentDetail
*/
public function setOldValue($oldValue)
{
$this->oldValue = $oldValue;
return $this;
}
/**
* Get oldValue
*
* #return string
*/
public function getOldValue()
{
return $this->oldValue;
}
/**
* Set newValue
*
* #param string $newValue
*
* #return SalaryAdjustmentDetail
*/
public function setNewValue($newValue)
{
$this->newValue = $newValue;
return $this;
}
/**
* Get newValue
*
* #return string
*/
public function getNewValue()
{
return $this->newValue;
}
}
Please help me for resolve my problem :')

Related

Mapping Exception in Symfony / Doctrine: The target-entity App\DocumentBundle\File cannot be found in 'App\DocumentBundle\Entity\Document#file'

I'm trying to upgrade an application running on Symfony 3.4 to version 4.4. I already did multiple changes and adaptions according to the official documentation for upgrading Symfony. Neverthelesse, I'm stuck now with the following error that comes up when I try to run a command in the terminal or access the application via browser.
Mapping Exception
Doctrine\ORM\Mapping\MappingException:
The target-entity App\DocumentBundle\File cannot be found in 'App\DocumentBundle\Entity\Document#file'.
at /srv/http/sp7/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php:772
at Doctrine\ORM\Mapping\MappingException::invalidTargetEntityClass('App\\DocumentBundle\\File', 'App\\DocumentBundle\\Entity\\Document', 'file')
(/srv/http/sp7/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php:1032)
at Doctrine\ORM\Mapping\ClassMetadataInfo->validateAssociations()
(/srv/http/sp7/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:266)
at Doctrine\ORM\Mapping\ClassMetadataFactory->validateRuntimeMetadata(object(ClassMetadata), object(ClassMetadata))
(/srv/http/sp7/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:245)
at Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata(object(ClassMetadata), object(ClassMetadata), false, array())
(/srv/http/sp7/vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php:306)
at Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata('App\\DocumentBundle\\Entity\\Document')
(/srv/http/sp7/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:78)
at Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata('App\\DocumentBundle\\Entity\\Document')
(/srv/http/sp7/vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php:185)
at Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor('App\\DocumentBundle\\Entity\\Document')
(/srv/http/sp7/vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php:91)
at Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getAllMetadata()
(/srv/http/sp7/vendor/mgilet/notification-bundle/NotifiableDiscovery.php:76)
at Mgilet\NotificationBundle\NotifiableDiscovery->discoverNotifiables()
(/srv/http/sp7/vendor/mgilet/notification-bundle/NotifiableDiscovery.php:40)
at Mgilet\NotificationBundle\NotifiableDiscovery->__construct(object(EntityManager), object(CachedReader))
(/srv/http/sp7/var/cache/dev/ContainerSAZB8iG/srcApp_KernelDevDebugContainer.php:6135)
at ContainerSAZB8iG\srcApp_KernelDevDebugContainer->getMgilet_NotificationService()
(/srv/http/sp7/var/cache/dev/ContainerSAZB8iG/srcApp_KernelDevDebugContainer.php:7481)
at ContainerSAZB8iG\srcApp_KernelDevDebugContainer->getTwigService()
(/srv/http/sp7/var/cache/dev/ContainerSAZB8iG/srcApp_KernelDevDebugContainer.php:13406)
at ContainerSAZB8iG\srcApp_KernelDevDebugContainer->getSensioFrameworkExtra_View_ListenerService()
(/srv/http/sp7/var/cache/dev/ContainerSAZB8iG/srcApp_KernelDevDebugContainer.php:4501)
at ContainerSAZB8iG\srcApp_KernelDevDebugContainer->ContainerSAZB8iG\{closure}()
(/srv/http/sp7/vendor/symfony/event-dispatcher/EventDispatcher.php:301)
at Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}(object(ControllerEvent), 'kernel.controller', object(EventDispatcher))
(/srv/http/sp7/vendor/symfony/event-dispatcher/EventDispatcher.php:264)
at Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(array(object(Closure), object(Closure), object(Closure), object(Closure), object(Closure), object(Closure)), 'kernel.controller', object(ControllerEvent))
(/srv/http/sp7/vendor/symfony/event-dispatcher/EventDispatcher.php:239)
at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(Closure), object(Closure), object(Closure), object(Closure), object(Closure), object(Closure)), 'kernel.controller', object(ControllerEvent))
(/srv/http/sp7/vendor/symfony/event-dispatcher/EventDispatcher.php:73)
at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(ControllerEvent), 'kernel.controller')
(/srv/http/sp7/vendor/symfony/http-kernel/HttpKernel.php:134)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(/srv/http/sp7/vendor/symfony/http-kernel/HttpKernel.php:68)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(/srv/http/sp7/vendor/symfony/http-kernel/Kernel.php:201)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(/srv/http/sp7/public/index.php:25)
The code itself should store a document and offer the possibility to attach files to the documents. Therefore, I used the Vich/Uploader-Bundle and I suspect that the error somehow is linked to Vich.
Document.php
<?php
namespace App\DocumentBundle\Entity;
use App\Entity\FileAwareEntity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Bundle\DoctrineBundle\Registry;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\ExecutionContextInterface;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\Security\Core\Security;
use App\UserBundle\Entity\User as User;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* #ORM\HasLifecycleCallbacks()
* #ORM\Table(name="document_document", options={"engine"="InnoDB"})
* #ORM\Entity(repositoryClass="App\DocumentBundle\Entity\DocumentRepository")
*/
class Document extends FileAwareEntity {
/**
* #ORM\Column(type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #Assert\NotBlank()
* #var string
* #ORM\Column(type="string")
* #Groups({"elastica"})
*/
private $name;
/**
*
* #var string
* #ORM\Column(type="text", nullable=true)
* #Groups({"elastica"})
*/
private $description;
/**
*
* #var string
* #ORM\Column(type="string", nullable=true)
* #Groups({"elastica"})
*/
private $headline;
/**
* #ORM\ManyToOne(targetEntity="App\DocumentBundle\Entity\DocumentType")
* #ORM\JoinColumn(name="type", referencedColumnName="id")
* #ORM\OrderBy({"translationKey" = "ASC"})
* #var \App\DocumentBundle\Entity\DocumentType
* #Groups({"elastica"})
**/
private $type;
/**
* #var string
* #ORM\Column(type="string", nullable=true)
* #Groups({"elastica"})
*/
private $vkaNumber;
/**
* #ORM\Column(type="string", length=255, nullable=true)
*/
private $linkedDocument;
/**
* #var string
* #ORM\Column(type="string", nullable=true)
*/
private $linkedDocumentExpires;
/**
* #var boolean
* #ORM\Column(type="boolean", nullable=true)
* #Groups({"elastica"})
*/
private $active;
/**
* #var boolean
* #ORM\Column(type="boolean", nullable=true)
*/
private $status_stealth;
/**
* #var boolean
* #ORM\Column(type="boolean", nullable=true)
*/
private $locked;
/**
* $var DateTime
* #ORM\Column(type="datetime", nullable=true)
* #Groups({"elastica"})
*/
private $created;
// * #Groups({"elastica"})
/**
* #ORM\ManyToOne(targetEntity="App\UserBundle\Entity\User", inversedBy="documentsCreated")
* #ORM\JoinColumn(name="createdBy", referencedColumnName="id")
* #var \App\UserBundle\Entity\User
**/
private $createdBy;
/**
* $var DateTime
* #ORM\Column(type="datetime", nullable=true)
* #Assert\Expression(
* "false == this.getStealthException()",
* message="The effective date must be in the future!")
* #Groups({"elastica"})
*/
private $effective;
/**
* $var DateTime
* #ORM\Column(type="datetime", nullable=true)
* #Assert\Expression(
* "this.getEffective() < this.getExpires()",
* message="The expiration date can't be before the effective date")
*/
private $expires;
/**
* $var DateTime
* #ORM\Column(type="datetime", nullable=true)
*/
private $modified;
/**
* #ORM\ManyToOne(targetEntity="App\UserBundle\Entity\User")
* #ORM\JoinColumn(name="modifiedBy", referencedColumnName="id")
* #var \App\UserBundle\Entity\User
**/
private $modifiedBy;
// * #Groups({"elastica"})
/**
* #ORM\ManyToMany(targetEntity="App\Entity\Agency", inversedBy="documentagency", cascade={"persist"})
* #ORM\JoinTable(name="document_document_agency",
* joinColumns={#ORM\JoinColumn(name="document_id", referencedColumnName="id")},
* inverseJoinColumns={#ORM\JoinColumn(name="iata8", referencedColumnName="iata8")})
* #var \App\Entity\Agency
**/
private $agency;
/**
* $var boolean
* #ORM\Column(type="boolean", nullable=true)
*/
private $signature;
/**
* $var boolean
* #ORM\Column(type="boolean", nullable=true)
*/
private $signed;
/**
* #ORM\ManyToOne(targetEntity="App\UserBundle\Entity\User", inversedBy="documentSigned")
* #ORM\JoinColumn(name="signedBy", referencedColumnName="id")
* #var \App\UserBundle\Entity\User
**/
private $signedBy;
/**
* #ORM\OneToMany(targetEntity="App\DocumentBundle\Entity\Comment", mappedBy="document",cascade={"remove"})
* #var \Doctrine\Common\Collections\Collection
**/
protected $comment;
// * #Groups({"elastica"})
/**
* #ORM\ManyToMany(targetEntity="App\Entity\Market", inversedBy="document", cascade={"persist"})
* #ORM\JoinTable(name="document_document_market",
* joinColumns={#ORM\JoinColumn(name="document_id", referencedColumnName="id")},
* inverseJoinColumns={#ORM\JoinColumn(name="market_id", referencedColumnName="id")})
* #Assert\Count(
* min = "0"
* )
**/
private $market;
// * #Groups({"elastica"})
/**
* #ORM\ManyToMany(targetEntity="App\Entity\Airline", inversedBy="document", cascade={"persist"})
* #ORM\JoinTable(name="document_document_airline",
* joinColumns={#ORM\JoinColumn(name="document_id", referencedColumnName="id")},
* inverseJoinColumns={#ORM\JoinColumn(name="airline_id", referencedColumnName="id")})
* #Assert\Count(
* min = "0"
* )
* #var \App\Entity\Airline
**/
private $airline;
// * #Groups({"elastica"})
/**
* #ORM\ManyToMany(targetEntity="App\Entity\Product", inversedBy="document", cascade={"persist"})
* #ORM\JoinTable(name="document_document_product",
* joinColumns={#ORM\JoinColumn(name="document_id", referencedColumnName="id")},
* inverseJoinColumns={#ORM\JoinColumn(name="product_id", referencedColumnName="id")})
* #Assert\Count(
* min = "0"
* )
* #var \App\Entity\Product
**/
private $product;
// * #Groups({"elastica"})
/**
* #ORM\ManyToMany(targetEntity="App\ReferentialBundle\Entity\Channel1", inversedBy="document", cascade={"persist"})
* #ORM\JoinTable(name="document_document_channel",
* joinColumns={#ORM\JoinColumn(name="document_id", referencedColumnName="id")},
* inverseJoinColumns={#ORM\JoinColumn(name="channel_id", referencedColumnName="id")})
* #Assert\Count(
* min = "0"
* )
* #var \App\ReferentialBundle\Entity\Channel1
**/
private $channel;
/**
* $var boolean
* #ORM\Column(type="boolean", nullable=true)
*/
private $internalCom;
/**
* #ORM\OneToMany(targetEntity="App\DocumentBundle\File", mappedBy="entity", cascade={"persist", "merge", "remove"}, orphanRemoval=true)
* #Assert\Valid()
* #var \Doctrine\Common\Collections\Collection
**/
protected $file;
/**
* #ORM\ManyToOne(targetEntity="App\DocumentBundle\Entity\Status")
* #ORM\JoinColumn(name="status", referencedColumnName="id", nullable=false)
* #var \App\DocumentBundle\Entity\Status
* #Groups({"elastica"})
*/
private $status;
/**
* #ORM\ManyToMany(targetEntity="App\DocumentBundle\Entity\UploadProfile", inversedBy="documents", cascade={"persist"})
* #ORM\JoinTable(name="document_document_uploadprofile",
* joinColumns={#ORM\JoinColumn(name="document_id", referencedColumnName="id")},
* inverseJoinColumns={#ORM\JoinColumn(name="uploadprofile_id", referencedColumnName="id")})
* #var \App\DocumentBundle\Entity\UploadProfile
**/
protected $uploadprofile;
/**
* #ORM\Column(type="decimal", precision=7, scale=7, nullable = true)
*/
protected $esScore;
/**
* Constructor
*/
public function __construct()
{
$this->locked = false;
$this->signed = false;
$this->market = new \Doctrine\Common\Collections\ArrayCollection();
$this->agency = new \Doctrine\Common\Collections\ArrayCollection();
$this->channel = new \Doctrine\Common\Collections\ArrayCollection();
$this->product = new \Doctrine\Common\Collections\ArrayCollection();
}
/* Entity: Functions ************************************************************************/
public function getCurrentDate(){
return new \DateTime();
}
/**
* #ORM\PrePersist
*/
public function prePersist() {
date_default_timezone_set('Europe/Berlin');
if($this->created == null)
{
$this->created = new \DateTime("now");
}
$market = $this->getMarket();
if(count($this->getAgency()) > 0){
foreach($this->getAgency() as $agency) {
if(!$this->market->contains($agency->getMarket())) {
$this->addMarket($agency->getMarket());
}
}
}
}
/**
* #ORM\PreUpdate
*/
public function preUpdate() {
date_default_timezone_set('Europe/Berlin');
if($this->modified == null)
{
$this->modified = new \DateTime("now");
}
$market = $this->getMarket();
if(count($this->getAgency()) > 0){
foreach($this->getAgency() as $agency) {
if(!$this->market->contains($agency->getMarket())) {
$this->addMarket($agency->getMarket());
}
}
}
}
/**
* Get statusStealth
*
* #return boolean
*/
public function getStatusStealth()
{
return $this->status_stealth;
}
public function getStealthException(){
if ($this->getEffective() < $this->getCurrentDate() && $this->getStatusStealth() == true){
return true;
} else{
return false;
}
}
public function show()
{
return array(
"domain" => "document",
"id" => $this->id,
"info" => $this->getHeadline(),
"title" => $this->name . ' - ' . $this->vkaNumber,
"airlines" => $this->getAirline(),
"agencies" => $this->getAgency(),
"markets" => $this->getMarket(),
"vkaNumber" => $this->vkaNumber,
"path" => "documentBundle_view_document",
"pathVariable" => "id",
"pathValue" => $this->id,
"bootstrapColor" => 'primary',
);
}
/* Entity: Functions ************************************************************************/
/**
* Get id
*
* #return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* #param string $name
*
* #return Document
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* #return string
*/
public function getName()
{
return $this->name;
}
/**
* Set description
*
* #param string $description
*
* #return Document
*/
public function setDescription($description)
{
$this->description = $description;
return $this;
}
/**
* Get description
*
* #return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Set headline
*
* #param string $headline
*
* #return Document
*/
public function setHeadline($headline)
{
$this->headline = $headline;
return $this;
}
/**
* Get headline
*
* #return string
*/
public function getHeadline()
{
return $this->headline;
}
/**
* Set vkaNumber
*
* #param string $vkaNumber
*
* #return Document
*/
public function setVkaNumber($vkaNumber)
{
$this->vkaNumber = $vkaNumber;
return $this;
}
/**
* Get vkaNumber
*
* #return string
*/
public function getVkaNumber()
{
return $this->vkaNumber;
}
/**
* Set linkedDocument
*
* #param string $linkedDocument
*
* #return Document
*/
public function setLinkedDocument($linkedDocument)
{
$this->linkedDocument = $linkedDocument;
return $this;
}
/**
* Get linkedDocument
*
* #return string
*/
public function getLinkedDocument()
{
return $this->linkedDocument;
}
/**
* Set linkedDocumentExpires
*
* #param string $linkedDocumentExpires
*
* #return Document
*/
public function setLinkedDocumentExpires($linkedDocumentExpires)
{
$this->linkedDocumentExpires = $linkedDocumentExpires;
return $this;
}
/**
* Get linkedDocumentExpires
*
* #return string
*/
public function getLinkedDocumentExpires()
{
return $this->linkedDocumentExpires;
}
/**
* Set active
*
* #param boolean $active
*
* #return Document
*/
public function setActive($active)
{
$this->active = $active;
return $this;
}
/**
* Get active
*
* #return boolean
*/
public function getActive()
{
return $this->active;
}
/**
* Set statusStealth
*
* #param boolean $statusStealth
*
* #return Document
*/
public function setStatusStealth($statusStealth)
{
$this->status_stealth = $statusStealth;
return $this;
}
/**
* Set locked
*
* #param boolean $locked
*
* #return Document
*/
public function setLocked($locked)
{
$this->locked = $locked;
return $this;
}
/**
* Get locked
*
* #return boolean
*/
public function getLocked()
{
return $this->locked;
}
/**
* Set created
*
* #param \DateTime $created
*
* #return Document
*/
public function setCreated($created)
{
$this->created = $created;
return $this;
}
/**
* Get created
*
* #return \DateTime
*/
public function getCreated()
{
return $this->created;
}
/**
* Set effective
*
* #param \DateTime $effective
*
* #return Document
*/
public function setEffective($effective)
{
$this->effective = $effective;
return $this;
}
/**
* Get effective
*
* #return \DateTime
*/
public function getEffective()
{
return $this->effective;
}
/**
* Set expires
*
* #param \DateTime $expires
*
* #return Document
*/
public function setExpires($expires)
{
$this->expires = $expires;
return $this;
}
/**
* Get expires
*
* #return \DateTime
*/
public function getExpires()
{
return $this->expires;
}
/**
* Set modified
*
* #param \DateTime $modified
*
* #return Document
*/
public function setModified($modified)
{
$this->modified = $modified;
return $this;
}
/**
* Get modified
*
* #return \DateTime
*/
public function getModified()
{
return $this->modified;
}
/**
* Set signature
*
* #param boolean $signature
*
* #return Document
*/
public function setSignature($signature)
{
$this->signature = $signature;
return $this;
}
/**
* Get signature
*
* #return boolean
*/
public function getSignature()
{
return $this->signature;
}
/**
* Set signed
*
* #param boolean $signed
*
* #return Document
*/
public function setSigned($signed)
{
$this->signed = $signed;
return $this;
}
/**
* Get signed
*
* #return boolean
*/
public function getSigned()
{
return $this->signed;
}
/**
* Set internalCom
*
* #param boolean $internalCom
*
* #return Document
*/
public function setInternalCom($internalCom)
{
$this->internalCom = $internalCom;
return $this;
}
/**
* Get internalCom
*
* #return boolean
*/
public function getInternalCom()
{
return $this->internalCom;
}
/**
* Set esScore
*
* #param string $esScore
*
* #return Document
*/
public function setEsScore($esScore)
{
$this->esScore = $esScore;
return $this;
}
/**
* Get esScore
*
* #return string
*/
public function getEsScore()
{
return $this->esScore;
}
/**
* Set type
*
* #param \App\DocumentBundle\Entity\DocumentType $type
*
* #return Document
*/
public function setType(\App\DocumentBundle\Entity\DocumentType $type = null)
{
$this->type = $type;
return $this;
}
/**
* Get type
*
* #return \App\DocumentBundle\Entity\DocumentType
*/
public function getType()
{
return $this->type;
}
/**
* Set createdBy
*
* #param \App\UserBundle\Entity\User $createdBy
*
* #return Document
*/
public function setCreatedBy(\App\UserBundle\Entity\User $createdBy = null)
{
$this->createdBy = $createdBy;
return $this;
}
/**
* Get createdBy
*
* #return \App\UserBundle\Entity\User
*/
public function getCreatedBy()
{
return $this->createdBy;
}
/**
* Set modifiedBy
*
* #param \App\UserBundle\Entity\User $modifiedBy
*
* #return Document
*/
public function setModifiedBy(\App\UserBundle\Entity\User $modifiedBy = null)
{
$this->modifiedBy = $modifiedBy;
return $this;
}
/**
* Get modifiedBy
*
* #return \App\UserBundle\Entity\User
*/
public function getModifiedBy()
{
return $this->modifiedBy;
}
/**
* Add agency
*
* #param \App\Entity\Agency $agency
*
* #return Document
*/
public function addAgency(\App\Entity\Agency $agency)
{
$this->agency[] = $agency;
return $this;
}
/**
* Remove agency
*
* #param \App\Entity\Agency $agency
*/
public function removeAgency(\App\Entity\Agency $agency)
{
$this->agency->removeElement($agency);
}
/**
* Get agency
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getAgency()
{
return $this->agency;
}
/**
* Set signedBy
*
* #param \App\UserBundle\Entity\User $signedBy
*
* #return Document
*/
public function setSignedBy(\App\UserBundle\Entity\User $signedBy = null)
{
$this->signedBy = $signedBy;
return $this;
}
/**
* Get signedBy
*
* #return \App\UserBundle\Entity\User
*/
public function getSignedBy()
{
return $this->signedBy;
}
/**
* Add comment
*
* #param \App\DocumentBundle\Entity\Comment $comment
*
* #return Document
*/
public function addComment(\App\DocumentBundle\Entity\Comment $comment)
{
$this->comment[] = $comment;
return $this;
}
/**
* Remove comment
*
* #param \App\DocumentBundle\Entity\Comment $comment
*/
public function removeComment(\App\DocumentBundle\Entity\Comment $comment)
{
$this->comment->removeElement($comment);
}
/**
* Get comment
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getComment()
{
return $this->comment;
}
/**
* Add market
*
* #param \App\Entity\Market $market
*
* #return Document
*/
public function addMarket(\App\Entity\Market $market)
{
$this->market[] = $market;
return $this;
}
/**
* Remove market
*
* #param \App\Entity\Market $market
*/
public function removeMarket(\App\Entity\Market $market)
{
$this->market->removeElement($market);
}
/**
* Get market
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getMarket()
{
return $this->market;
}
/**
* Add airline
*
* #param \App\Entity\Airline $airline
*
* #return Document
*/
public function addAirline(\App\Entity\Airline $airline)
{
$this->airline[] = $airline;
return $this;
}
/**
* Remove airline
*
* #param \App\Entity\Airline $airline
*/
public function removeAirline(\App\Entity\Airline $airline)
{
$this->airline->removeElement($airline);
}
/**
* Get airline
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getAirline()
{
return $this->airline;
}
/**
* Add product
*
* #param \App\Entity\Product $product
*
* #return Document
*/
public function addProduct(\App\Entity\Product $product)
{
$this->product[] = $product;
return $this;
}
/**
* Remove product
*
* #param \App\Entity\Product $product
*/
public function removeProduct(\App\Entity\Product $product)
{
$this->product->removeElement($product);
}
/**
* Get product
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getProduct()
{
return $this->product;
}
/**
* Add channel
*
* #param \App\ReferentialBundle\Entity\Channel1 $channel
*
* #return Document
*/
public function addChannel(\App\ReferentialBundle\Entity\Channel1 $channel)
{
$this->channel[] = $channel;
return $this;
}
/**
* Remove channel
*
* #param \App\ReferentialBundle\Entity\Channel1 $channel
*/
public function removeChannel(\App\ReferentialBundle\Entity\Channel1 $channel)
{
$this->channel->removeElement($channel);
}
/**
* Get channel
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getChannel()
{
return $this->channel;
}
/**
* Get file
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getFile()
{
return $this->file;
}
}
File.php (child class)
<?php
namespace App\DocumentBundle;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\File as BaseFile;
/**
* This class extends the base file class. Only the mapped entity and table name are different.
*
* #ORM\HasLifecycleCallbacks()
* #ORM\Table(name="document_file")
* #ORM\Entity
*/
class File extends BaseFile {
/**
* #ORM\ManyToOne(targetEntity="App\DocumentBundle\Entity\Document", inversedBy="file")
* #ORM\JoinColumn(name="entity", referencedColumnName="id", nullable=true)
* #var \App\DocumentBundle\Entity\Document
*/
protected $entity;
}
I already tried to clean the cache, restart the server, update doctrine or commented the property out, but nothing has worked so far. Has anyone an idea how to ressolve this issue?

Methods not found so i cant get Events from DB

Im using adesigns/calendar-bundle to create a calendar on my symfony project.
I Can't get events from the DB when i access fc-load-events, This is my entity listener :
class CalendarEventListener
{
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
public function loadEvents(CalendarEvent $calendarEvent)
{
$startDate = $calendarEvent->getStartDatetime();
$endDate = $calendarEvent->getEndDatetime();
// The original request so you can get filters from the calendar
// Use the filter in your query for example
$request = $calendarEvent->getRequest();
$filter = $request->get('filter');
// load events using your custom logic here,
// for instance, retrieving events from a repository
$companyEvents = $this->entityManager->getRepository('CMRBundle:EventEntity')
->createQueryBuilder('company_events')
->where('company_events.event_datetime BETWEEN :startDate and :endDate')
->setParameter('startDate', $startDate->format('Y-m-d H:i:s'))
->setParameter('endDate', $endDate->format('Y-m-d H:i:s'))
->getQuery()->getResult();
// $companyEvents and $companyEvent in this example
// represent entities from your database, NOT instances of EventEntity
// within this bundle.
//
// Create EventEntity instances and populate it's properties with data
// from your own entities/database values.
foreach($companyEvents as $companyEvent) {
// create an event with a start/end time, or an all day event
if ($companyEvent->getAllDayEvent() === false) {
$eventEntity = new EventEntity($companyEvent->getTitle(), $companyEvent->getStartDatetime(), $companyEvent->getEndDatetime());
} else {
$eventEntity = new EventEntity($companyEvent->getTitle(), $companyEvent->getStartDatetime(), null, true);
}
//optional calendar event settings
$eventEntity->setAllDay(true); // default is false, set to true if this is an all day event
$eventEntity->setBgColor('#FF0000'); //set the background color of the event's label
$eventEntity->setFgColor('#FFFFFF'); //set the foreground color of the event's label
$eventEntity->setUrl('http://www.google.com'); // url to send user to when event label is clicked
$eventEntity->setCssClass('my-custom-class'); // a custom class you may want to apply to event labels
//finally, add the event to the CalendarEvent for displaying on the calendar
$calendarEvent->addEvent($eventEntity);
}
}
}
This is the error i get :
if ($companyEvent->getAllDayEvent() === false) {
$eventEntity = new EventEntity($companyEvent->getTitle(), $companyEvent->getStartDatetime(), $companyEvent->getEndDatetime());
} else {
$eventEntity = new EventEntity($companyEvent->getTitle(), $companyEvent->getStartDatetime(), null, true);
}
All the methods in evententity are not found : `getAllDayEvent(), getTitle(), getStartDatetime().
I have a public fonction getDaterdv in my entity :
(Ive changed the entity) to RDV :
<?php
namespace CMRBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* RDV
*
* #ORM\Table(name="r_d_v")
* #ORM\Entity(repositoryClass="CMRBundle\Repository\RDVRepository")
*/
class RDV
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #var \DateTime
*
* #ORM\Column(name="datecrea", type="datetime")
*/
private $datecrea;
/**
* #ORM\Column(name="published", type="boolean")
*/
private $published = true;
/**
* #var \DateTime
*
* #ORM\Column(name="daterdv", type="datetime")
*/
private $daterdv;
/**
* #var string
*
* #ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* #var string
*
* #ORM\Column(name="agentname", type="string", length=255)
*/
private $agentname;
/**
* #var string
*
* #ORM\Column(name="qualif", type="string", length=255)
*/
private $qualif;
/**
* #var int
*
* #ORM\Column(name="agentid", type="integer")
*/
private $agentid;
/**
* #var string
*
* #ORM\Column(name="company", type="string", length=255)
*/
private $company;
/**
* #var string
*
* #ORM\Column(name="comname", type="string", length=255)
*/
private $comname;
/**
* #var text
*
* #ORM\Column(name="content", type="text")
*/
private $content;
/**
* #var text
*
* #ORM\Column(name="adresse", type="text")
*/
private $adresse;
/**
* #var text
*
* #ORM\Column(name="ville", type="text")
*/
private $ville;
/**
* #var text
*
* #ORM\Column(name="telfixe", type="text")
*/
private $telfixe;
/**
* #var text
*
* #ORM\Column(name="telpor", type="text")
*/
private $telpor;
/**
* #var text
*
* #ORM\Column(name="tarif", type="text")
*/
private $tarif;
/**
* #var text
*
* #ORM\Column(name="support", type="text")
*/
private $support;
public function __construct()
{
$this->datecrea = new \Datetime();
$this->daterdv = new \DateTime();
}
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Set datecrea
*
* #param \DateTime $datecrea
*
* #return RDV
*/
public function setDatecrea($datecrea)
{
$this->datecrea = $datecrea;
return $this;
}
/**
* Get datecrea
*
* #return \DateTime
*/
public function getDatecrea()
{
return $this->datecrea;
}
/**
* Set daterdv
*
* #param \DateTime $daterdv
*
* #return RDV
*/
public function setDaterdv($daterdv)
{
$this->daterdv = $daterdv;
return $this;
}
/**
* Get daterdv
*
* #return \DateTime
*/
public function getDaterdv()
{
return $this->daterdv;
}
/**
* Set title
*
* #param string $title
*
* #return RDV
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* #return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Set agentid
*
* #param integer $agentid
*
* #return RDV
*/
public function setAgentid($agentid)
{
$this->agentid = $agentid;
return $this;
}
/**
* Get agentid
*
* #return int
*/
public function getAgentid()
{
return $this->agentid;
}
/**
* Set company
*
* #param string $company
*
* #return RDV
*/
public function setCompany($company)
{
$this->company = $company;
return $this;
}
/**
* Get company
*
* #return string
*/
public function getCompany()
{
return $this->company;
}
/**
* Set content
*
* #param string $content
*
* #return RDV
*/
public function setContent($content)
{
$this->content = $content;
return $this;
}
/**
* Get content
*
* #return string
*/
public function getContent()
{
return $this->content;
}
/**
* Set published
*
* #param boolean $published
*
* #return RDV
*/
public function setPublished($published)
{
$this->published = $published;
return $this;
}
/**
* Get published
*
* #return boolean
*/
public function getPublished()
{
return $this->published;
}
/**
* Set agentname
*
* #param string $agentname
*
* #return RDV
*/
public function setAgentname($agentname)
{
$this->agentname = $agentname;
return $this;
}
/**
* Get agentname
*
* #return string
*/
public function getAgentname()
{
return $this->agentname;
}
/**
* Set adresse
*
* #param string $adresse
*
* #return RDV
*/
public function setAdresse($adresse)
{
$this->adresse = $adresse;
return $this;
}
/**
* Get adresse
*
* #return string
*/
public function getAdresse()
{
return $this->adresse;
}
/**
* Set ville
*
* #param string $ville
*
* #return RDV
*/
public function setVille($ville)
{
$this->ville = $ville;
return $this;
}
/**
* Get ville
*
* #return string
*/
public function getVille()
{
return $this->ville;
}
/**
* Set telfixe
*
* #param string $telfixe
*
* #return RDV
*/
public function setTelfixe($telfixe)
{
$this->telfixe = $telfixe;
return $this;
}
/**
* Get telfixe
*
* #return string
*/
public function getTelfixe()
{
return $this->telfixe;
}
/**
* Set telpor
*
* #param string $telpor
*
* #return RDV
*/
public function setTelpor($telpor)
{
$this->telpor = $telpor;
return $this;
}
/**
* Get telpor
*
* #return string
*/
public function getTelpor()
{
return $this->telpor;
}
/**
* Set tarif
*
* #param string $tarif
*
* #return RDV
*/
public function setTarif($tarif)
{
$this->tarif = $tarif;
return $this;
}
/**
* Get tarif
*
* #return string
*/
public function getTarif()
{
return $this->tarif;
}
/**
* Set support
*
* #param string $support
*
* #return RDV
*/
public function setSupport($support)
{
$this->support = $support;
return $this;
}
/**
* Get support
*
* #return string
*/
public function getSupport()
{
return $this->support;
}
/**
* Set horaire
*
* #param string $horaire
*
* #return RDV
*/
public function setHoraire($horaire)
{
$this->horaire = $horaire;
return $this;
}
/**
* Get horaire
*
* #return string
*/
public function getHoraire()
{
return $this->horaire;
}
/**
* Set comname
*
* #param string $comname
*
* #return RDV
*/
public function setComname($comname)
{
$this->comname = $comname;
return $this;
}
/**
* Get comname
*
* #return string
*/
public function getComname()
{
return $this->comname;
}
/**
* Set qualif
*
* #param string $qualif
*
* #return RDV
*/
public function setQualif($qualif)
{
$this->qualif = $qualif;
return $this;
}
/**
* Get qualif
*
* #return string
*/
public function getQualif()
{
return $this->qualif;
}
}
Thanks for helping me
I have a public fonction getDaterdv in my entity :
(Ive changed the entity) to RDV :
<?php
namespace CMRBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* RDV
*
* #ORM\Table(name="r_d_v")
* #ORM\Entity(repositoryClass="CMRBundle\Repository\RDVRepository")
*/
class RDV
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #var \DateTime
*
* #ORM\Column(name="datecrea", type="datetime")
*/
private $datecrea;
/**
* #ORM\Column(name="published", type="boolean")
*/
private $published = true;
/**
* #var \DateTime
*
* #ORM\Column(name="daterdv", type="datetime")
*/
private $daterdv;
/**
* #var string
*
* #ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* #var string
*
* #ORM\Column(name="agentname", type="string", length=255)
*/
private $agentname;
/**
* #var string
*
* #ORM\Column(name="qualif", type="string", length=255)
*/
private $qualif;
/**
* #var int
*
* #ORM\Column(name="agentid", type="integer")
*/
private $agentid;
/**
* #var string
*
* #ORM\Column(name="company", type="string", length=255)
*/
private $company;
/**
* #var string
*
* #ORM\Column(name="comname", type="string", length=255)
*/
private $comname;
/**
* #var text
*
* #ORM\Column(name="content", type="text")
*/
private $content;
/**
* #var text
*
* #ORM\Column(name="adresse", type="text")
*/
private $adresse;
/**
* #var text
*
* #ORM\Column(name="ville", type="text")
*/
private $ville;
/**
* #var text
*
* #ORM\Column(name="telfixe", type="text")
*/
private $telfixe;
/**
* #var text
*
* #ORM\Column(name="telpor", type="text")
*/
private $telpor;
/**
* #var text
*
* #ORM\Column(name="tarif", type="text")
*/
private $tarif;
/**
* #var text
*
* #ORM\Column(name="support", type="text")
*/
private $support;
public function __construct()
{
$this->datecrea = new \Datetime();
$this->daterdv = new \DateTime();
}
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Set datecrea
*
* #param \DateTime $datecrea
*
* #return RDV
*/
public function setDatecrea($datecrea)
{
$this->datecrea = $datecrea;
return $this;
}
/**
* Get datecrea
*
* #return \DateTime
*/
public function getDatecrea()
{
return $this->datecrea;
}
/**
* Set daterdv
*
* #param \DateTime $daterdv
*
* #return RDV
*/
public function setDaterdv($daterdv)
{
$this->daterdv = $daterdv;
return $this;
}
/**
* Get daterdv
*
* #return \DateTime
*/
public function getDaterdv()
{
return $this->daterdv;
}
/**
* Set title
*
* #param string $title
*
* #return RDV
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* #return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Set agentid
*
* #param integer $agentid
*
* #return RDV
*/
public function setAgentid($agentid)
{
$this->agentid = $agentid;
return $this;
}
/**
* Get agentid
*
* #return int
*/
public function getAgentid()
{
return $this->agentid;
}
/**
* Set company
*
* #param string $company
*
* #return RDV
*/
public function setCompany($company)
{
$this->company = $company;
return $this;
}
/**
* Get company
*
* #return string
*/
public function getCompany()
{
return $this->company;
}
/**
* Set content
*
* #param string $content
*
* #return RDV
*/
public function setContent($content)
{
$this->content = $content;
return $this;
}
/**
* Get content
*
* #return string
*/
public function getContent()
{
return $this->content;
}
/**
* Set published
*
* #param boolean $published
*
* #return RDV
*/
public function setPublished($published)
{
$this->published = $published;
return $this;
}
/**
* Get published
*
* #return boolean
*/
public function getPublished()
{
return $this->published;
}
/**
* Set agentname
*
* #param string $agentname
*
* #return RDV
*/
public function setAgentname($agentname)
{
$this->agentname = $agentname;
return $this;
}
/**
* Get agentname
*
* #return string
*/
public function getAgentname()
{
return $this->agentname;
}
/**
* Set adresse
*
* #param string $adresse
*
* #return RDV
*/
public function setAdresse($adresse)
{
$this->adresse = $adresse;
return $this;
}
/**
* Get adresse
*
* #return string
*/
public function getAdresse()
{
return $this->adresse;
}
/**
* Set ville
*
* #param string $ville
*
* #return RDV
*/
public function setVille($ville)
{
$this->ville = $ville;
return $this;
}
/**
* Get ville
*
* #return string
*/
public function getVille()
{
return $this->ville;
}
/**
* Set telfixe
*
* #param string $telfixe
*
* #return RDV
*/
public function setTelfixe($telfixe)
{
$this->telfixe = $telfixe;
return $this;
}
/**
* Get telfixe
*
* #return string
*/
public function getTelfixe()
{
return $this->telfixe;
}
/**
* Set telpor
*
* #param string $telpor
*
* #return RDV
*/
public function setTelpor($telpor)
{
$this->telpor = $telpor;
return $this;
}
/**
* Get telpor
*
* #return string
*/
public function getTelpor()
{
return $this->telpor;
}
/**
* Set tarif
*
* #param string $tarif
*
* #return RDV
*/
public function setTarif($tarif)
{
$this->tarif = $tarif;
return $this;
}
/**
* Get tarif
*
* #return string
*/
public function getTarif()
{
return $this->tarif;
}
/**
* Set support
*
* #param string $support
*
* #return RDV
*/
public function setSupport($support)
{
$this->support = $support;
return $this;
}
/**
* Get support
*
* #return string
*/
public function getSupport()
{
return $this->support;
}
/**
* Set horaire
*
* #param string $horaire
*
* #return RDV
*/
public function setHoraire($horaire)
{
$this->horaire = $horaire;
return $this;
}
/**
* Get horaire
*
* #return string
*/
public function getHoraire()
{
return $this->horaire;
}
/**
* Set comname
*
* #param string $comname
*
* #return RDV
*/
public function setComname($comname)
{
$this->comname = $comname;
return $this;
}
/**
* Get comname
*
* #return string
*/
public function getComname()
{
return $this->comname;
}
/**
* Set qualif
*
* #param string $qualif
*
* #return RDV
*/
public function setQualif($qualif)
{
$this->qualif = $qualif;
return $this;
}
/**
* Get qualif
*
* #return string
*/
public function getQualif()
{
return $this->qualif;
}
}
It should be name of the entity field, but not the name of the database column specified in line
->where('company_events.event_datetime BETWEEN :startDate and :endDate')
so check, maybe it should be like
->where('company_events.eventDatetime BETWEEN :startDate and :endDate')
assuming that you are using camel case on your EventEntity field names using symfony coding style standards.
=============================
UPDATE
=============================
Now, when you posted your entity it is clear that it is not the one you trying to fetch from the database via repository.
$companyEvents = $this->entityManager->getRepository('CMRBundle:EventEntity')
->createQueryBuilder('company_events')
->where('company_events.event_datetime BETWEEN :startDate and :endDate')
->setParameter('startDate', $startDate->format('Y-m-d H:i:s'))
->setParameter('endDate', $endDate->format('Y-m-d H:i:s'))
->getQuery()->getResult();
Here your entity manager retrieving "EventEntity" instances from repository with name "CMRBundle:EventEntity", but to us you showed "RDV" and "CMRBundle\Repository\RDVRepository" to which it belongs to. As far as I understand from the part of the scope you shown - when some calendar event is raised you want to obtain all "event entities" from database which are in bounds of field values set in those event object that you passes to the listener. But it's unclear whether those RDV object that you have shown represent those "event entities" that you want to get from database. For now it looks like so and code related to "CMRBundle:EventEntity" just looks like some example code that your forgot to change. So, please, try to describe us the task and its context more carefully and tell if my assumption is right or wrong.

Convert SQL To Doctrine in Symfony

I have three tables and two relations. One table is many to many and the other table is one to many relation. I created a query in mysql but I'm not converting to dql or querybuilder in Symfony.
Sample query is:
SELECT * FROM `resturant` LEFT JOIN `food` ON `resturant`.`id` = `food`.`resturant_id`
WHERE `food`.`name` LIKE "%pizza%"
GROUP BY `resturant`.`name`
food entity in my project
<?php
namespace Food\AdminBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Food
*
* #ORM\Table(name="food")
* #ORM\Entity(repositoryClass="Food\AdminBundle\Repository\FoodRepository")
*/
class Food
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #var string
*
* #ORM\Column(name="name", type="string", length=255, nullable=true)
*/
private $name;
/**
* #var string
*
* #ORM\Column(name="contents", type="string", length=500, nullable=true)
*/
private $contents;
/**
* #var string
*
* #ORM\Column(name="price", type="integer", nullable=true)
*/
private $price;
/**
* #var bool
*
* #ORM\Column(name="approve", type="boolean")
*/
private $approve;
/**
* #var \Food\AdminBundle\Entity\Category
*
* #ORM\ManyToOne(targetEntity="Food\AdminBundle\Entity\Category")
* #ORM\JoinColumns({
* #ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="CASCADE" )
* })
*/
private $category;
/**
* #var \Food\AdminBundle\Entity\Resturant
*
* #ORM\ManyToOne(targetEntity="Food\AdminBundle\Entity\Resturant")
* #ORM\JoinColumns({
* #ORM\JoinColumn(name="resturant_id", referencedColumnName="id", onDelete="CASCADE" )
* })
*/
private $resturant;
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* #param string $name
*
* #return Food
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* #return string
*/
public function getName()
{
return $this->name;
}
/**
* Set contents
*
* #param string $contents
*
* #return Food
*/
public function setContents($contents)
{
$this->contents = $contents;
return $this;
}
/**
* Get contents
*
* #return string
*/
public function getContents()
{
return $this->contents;
}
/**
* Set approve
*
* #param boolean $approve
*
* #return Food
*/
public function setApprove($approve)
{
$this->approve = $approve;
return $this;
}
/**
* Get approve
*
* #return bool
*/
public function getApprove()
{
return $this->approve;
}
/**
* Set category
*
* #param \Food\AdminBundle\Entity\Category $category
*
* #return Food
*/
public function setCategory(\Food\AdminBundle\Entity\Category $category = null)
{
$this->category = $category;
return $this;
}
/**
* Get category
*
* #return \Food\AdminBundle\Entity\Category
*/
public function getCategory()
{
return $this->category;
}
/**
* Set resturant
*
* #param \Food\AdminBundle\Entity\Resturant $resturant
*
* #return Food
*/
public function setResturant(\Food\AdminBundle\Entity\Resturant $resturant = null)
{
$this->resturant = $resturant;
return $this;
}
/**
* Get resturant
*
* #return \Food\AdminBundle\Entity\Resturant
*/
public function getResturant()
{
return $this->resturant;
}
/**
* Set price
*
* #param integer $price
*
* #return Food
*/
public function setPrice($price)
{
$this->price = $price;
return $this;
}
/**
* Get price
*
* #return integer
*/
public function getPrice()
{
return $this->price;
}
}
Resturant entity
<?php
namespace Food\AdminBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\HttpFoundation\File\UploadedFile;
/**
* Resturant
*
* #ORM\Table(name="resturant")
* #ORM\Entity(repositoryClass="Food\AdminBundle\Repository\ResturantRepository")
*/
class Resturant
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #var string
*
* #ORM\Column(name="name", type="string", length=50)
*/
private $name;
/**
* #var string
*
* #ORM\Column(name="logo", type="string", length=30, nullable=true)
*/
private $logo;
/**
* #var string
*
* #ORM\Column(name="duration", type="string", length=150, nullable=true)
*/
private $duration;
/**
* #var string
*
* #ORM\Column(name="address", type="string", length=800, nullable=true)
*/
private $address;
/**
* #var int
*
* #ORM\Column(name="minimal", type="integer")
*/
private $minimal;
/**
* #var int
*
* #ORM\Column(name="delivery", type="integer")
*/
private $delivery;
/**
* #var int
*
* #ORM\Column(name="score", type="integer", nullable=true)
*/
private $score;
/**
* #var int
*
* #ORM\Column(name="cost", type="integer")
*/
private $cost;
/**
* #var int
*
* #ORM\Column(name="startlunch", type="time", nullable=true)
*/
private $startlunch;
/**
* #var int
*
* #ORM\Column(name="endlunch", type="time", nullable=true)
*/
private $endlunch;
/**
* #var int
*
* #ORM\Column(name="startdinner", type="time", nullable=true)
*/
private $startdinner;
/**
* #var int
*
* #ORM\Column(name="enddinner", type="time", nullable=true)
*/
private $enddinner;
/**
* #var \Doctrine\Common\Collections\Collection
*
* #ORM\ManyToMany(targetEntity="Food\AdminBundle\Entity\Zone", inversedBy="Resturant")
* #ORM\JoinTable(name="resturant_has_zone",
* joinColumns={
* #ORM\JoinColumn(name="resturant_id", referencedColumnName="id" )
* },
* inverseJoinColumns={
* #ORM\JoinColumn(name="zone_id", referencedColumnName="id" )
* }
* )
*/
private $zone;
/**
* #ORM\OneToMany(targetEntity="Food\AdminBundle\Entity\Food", mappedBy="Resturant")
*/
private $food;
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* #param string $name
*
* #return Resturant
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* #return string
*/
public function getName()
{
return $this->name;
}
/**
* Set logo
*
* #param string $logo
*
* #return Resturant
*/
public function setLogo($logo)
{
$this->logo = $logo;
return $this;
}
/**
* Get logo
*
* #return string
*/
public function getLogo()
{
return $this->logo;
}
/**
* Set duration
*
* #param string $duration
*
* #return Resturant
*/
public function setDuration($duration)
{
$this->duration = $duration;
return $this;
}
/**
* Get duration
*
* #return string
*/
public function getDuration()
{
return $this->duration;
}
/**
* Set address
*
* #param string $address
*
* #return Resturant
*/
public function setAddress($address)
{
$this->address = $address;
return $this;
}
/**
* Get address
*
* #return string
*/
public function getAddress()
{
return $this->address;
}
/**
* Set minimal
*
* #param integer $minimal
*
* #return Resturant
*/
public function setMinimal($minimal)
{
$this->minimal = $minimal;
return $this;
}
/**
* Get minimal
*
* #return int
*/
public function getMinimal()
{
return $this->minimal;
}
/**
* Set delivery
*
* #param integer $delivery
*
* #return Resturant
*/
public function setDelivery($delivery)
{
$this->delivery = $delivery;
return $this;
}
/**
* Get delivery
*
* #return int
*/
public function getDelivery()
{
return $this->delivery;
}
/**
* Set score
*
* #param integer $score
*
* #return Resturant
*/
public function setScore($score)
{
$this->score = $score;
return $this;
}
/**
* Get score
*
* #return int
*/
public function getScore()
{
return $this->score;
}
/**
* Set cost
*
* #param integer $cost
*
* #return Resturant
*/
public function setCost($cost)
{
$this->cost = $cost;
return $this;
}
/**
* Get cost
*
* #return int
*/
public function getCost()
{
return $this->cost;
}
/**
* Set startlunch
*
* #param \DateTime $startlunch
*
* #return Resturant
*/
public function setStartlunch($startlunch)
{
$this->startlunch = $startlunch;
return $this;
}
/**
* Get startlunch
*
* #return \DateTime
*/
public function getStartlunch()
{
return $this->startlunch;
}
/**
* Set endlunch
*
* #param \DateTime $endlunch
*
* #return Resturant
*/
public function setEndlunch($endlunch)
{
$this->endlunch = $endlunch;
return $this;
}
/**
* Get endlunch
*
* #return \DateTime
*/
public function getEndlunch()
{
return $this->endlunch;
}
/**
* Set startdinner
*
* #param \DateTime $startdinner
*
* #return Resturant
*/
public function setStartdinner($startdinner)
{
$this->startdinner = $startdinner;
return $this;
}
/**
* Get startdinner
*
* #return \DateTime
*/
public function getStartdinner()
{
return $this->startdinner;
}
/**
* Set enddinner
*
* #param \DateTime $enddinner
*
* #return Resturant
*/
public function setEnddinner($enddinner)
{
$this->enddinner = $enddinner;
return $this;
}
/**
* Get enddinner
*
* #return \DateTime
*/
public function getEnddinner()
{
return $this->enddinner;
}
/**
* Constructor
*/
public function __construct()
{
$this->zone = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Add zone
*
* #param \Food\AdminBundle\Entity\Zone $zone
*
* #return Resturant
*/
public function addZone(\Food\AdminBundle\Entity\Zone $zone)
{
$this->zone[] = $zone;
return $this;
}
/**
* Remove zone
*
* #param \Food\AdminBundle\Entity\Zone $zone
*/
public function removeZone(\Food\AdminBundle\Entity\Zone $zone)
{
$this->zone->removeElement($zone);
}
/**
* Get zone
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getZone()
{
return $this->zone;
}
/**
* Add food
*
* #param \Food\AdminBundle\Entity\Food $food
*
* #return Resturant
*/
public function addFood(\Food\AdminBundle\Entity\Food $food)
{
$this->food[] = $food;
return $this;
}
/**
* Remove food
*
* #param \Food\AdminBundle\Entity\Food $food
*/
public function removeFood(\Food\AdminBundle\Entity\Food $food)
{
$this->food->removeElement($food);
}
/**
* Get food
*
* #return \Doctrine\Common\Collections\Collection
*/
public function getFood()
{
return $this->food;
}
/**
* #Assert\File(
* maxSize="2m",
* mimeTypes = {"image/jpeg", "image/png"},
* mimeTypesMessage = "Please upload a valid Image File"
*
* )
*/
private $file;
// Uploading File LOL
/**
* Sets file.
*
* #param UploadedFile $file
*/
public function setFile(UploadedFile $file = null)
{
$this->file = $file;
}
/**
* Get file.
*
* #return UploadedFile
*/
public function getFile()
{
return $this->file;
}
public function getAbsolutePath()
{
return null === $this->logo
? null
: $this->getUploadRootDir() . '/' . $this->logo;
}
public function getWebPath()
{
return null === $this->picture
? null
: $this->getUploadDir() . '/' . $this->logo;
}
protected function getUploadRootDir()
{
// the absolute directory path where uploaded
// documents should be saved
return __DIR__ . '/../../../../web/' . $this->getUploadDir();
}
protected function getUploadDir()
{
// get rid of the __DIR__ so it doesn't screw up
// when displaying uploaded doc/image in the view.
return 'upload/resturant/logo';
}
public function upload()
{
// the file property can be empty if the field is not required
if (null === $this->getFile()) {
return;
}
// use the original file name here but you should
// sanitize it at least to avoid any security issues
// move takes the target directory and then the
// target filename to move to
$stringArray = explode(".", $this->getFile()->getClientOriginalName());
$suffix = $stringArray[count($stringArray) - 1];
$this->logo = $this->random_string() . '.' . $suffix;
$this->getFile()->move(
$this->getUploadRootDir(),
$this->logo
);
// clean up the file property as you won't need it anymore
$this->file = null;
}
private function random_string($hashstring = null, $randLengh = null)
{
$string = $hashstring;
$randLengh = 15;
if ($string == null) {
$string = 'abcdefghijklmnopqrstuvwxyz0123456789';
}
$charactersLength = strlen($string);
$randomString = '';
for ($i = 0; $i < $randLengh; $i++) {
$randomString .= $string[rand(0, $charactersLength - 1)];
}
return $randomString;
}
public function __toString()
{
return $this->getName();
}
}
and zone entity and relation
<?php
namespace Food\AdminBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Zone
*
* #ORM\Table(name="zone")
* #ORM\Entity(repositoryClass="Food\AdminBundle\Repository\ZoneRepository")
*/
class Zone
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #var string
*
* #ORM\Column(name="name", type="string", length=100, unique=true)
*/
private $name;
/**
* #var bool
*
* #ORM\Column(name="approve", type="boolean")
*/
private $approve;
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* #param string $name
*
* #return Zone
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* #return string
*/
public function getName()
{
return $this->name;
}
/**
* Set approve
*
* #param boolean $approve
*
* #return Zone
*/
public function setApprove($approve)
{
$this->approve = $approve;
return $this;
}
/**
* Get approve
*
* #return bool
*/
public function getApprove()
{
return $this->approve;
}
public function __toString()
{
return $this->getName();
}
}

Fill Selectbox with database data - Forms + Doctrine + Symfony 3

I am trying to populate my form with an List of Results from query with Doctrine
But i`m getting this error:
Catchable Fatal Error: Object of class AppBundle\Entity\Parceiros could not be converted to string
Here is my Form CoberturasType
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
class CoberturasType extends AbstractType
{
/**
* #param FormBuilderInterface $builder
* #param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('descricao')
->add('parceiro', EntityType::class, [
'class'=>'AppBundle:Parceiros',
])
;
}
/**
* #param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Coberturas'
));
}
}
Here is my CoberturasEntity
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Coberturas
*
* #ORM\Table(name="coberturas")
* #ORM\Entity(repositoryClass="AppBundle\Repository\CoberturasRepository")
* #ORM\Entity()
* #ORM\HasLifecycleCallbacks()
*/
class Coberturas
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* #ORM\ManyToOne(targetEntity="Parceiros")
* #ORM\JoinColumn(name="parceiro", referencedColumnName="id", nullable=false)
*/
protected $parceiro;
/**
* #var string
*
* #ORM\Column(name="descricao", type="string", length=120)
*/
private $descricao;
/**
* #var bool
*
* #ORM\Column(name="_ativo", type="boolean")
*/
private $ativo;
/**
* #var \DateTime
*
* #ORM\Column(name="created", type="datetime")
*/
private $created;
/**
* #var string
*
* #ORM\Column(name="updated", type="datetime")
*/
private $updated;
/**
* #var bool
*
* #ORM\Column(name="_deletado", type="boolean")
*/
private $deletado;
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Set descricao
*
* #param string $descricao
*
* #return Coberturas
*/
public function setDescricao($descricao)
{
$this->descricao = $descricao;
return $this;
}
/**
* Get descricao
*
* #return string
*/
public function getDescricao()
{
return $this->descricao;
}
/**
* Set ativo
*
* #param boolean $ativo
*
* #return Coberturas
*/
public function setAtivo($ativo)
{
$this->ativo = $ativo;
return $this;
}
/**
* Get ativo
*
* #return bool
*/
public function getAtivo()
{
return $this->ativo;
}
/**
* Set created
*
* #param \DateTime $created
*
* #return Coberturas
*/
public function setCreated($created)
{
$this->created = $created;
return $this;
}
/**
* Get created
*
* #return \DateTime
*/
public function getCreated()
{
return $this->created;
}
/**
* Set updated
*
* #param string $updated
*
* #return Coberturas
*/
public function setUpdated($updated)
{
$this->updated = $updated;
return $this;
}
/**
* Get updated
*
* #return string
*/
public function getUpdated()
{
return $this->updated;
}
/**
* Set deletado
*
* #param boolean $deletado
*
* #return Coberturas
*/
public function setDeletado($deletado)
{
$this->deletado = $deletado;
return $this;
}
/**
* Get deletado
*
* #return bool
*/
public function getDeletado()
{
return $this->deletado;
}
/**
* #ORM\PrePersist
*/
public function setCreatedValue()
{
$this->created = new \DateTime();
}
/**
* #ORM\postUpdate
*/
public function setUpdatedValue()
{
$this->updated = new \DateTime();
}
/**
* Set parceiro
*
* #param \AppBundle\Entity\Parceiros $parceiro
*
* #return Coberturas
*/
public function setParceiro(\AppBundle\Entity\Parceiros $parceiro = null)
{
$this->parceiro = $parceiro;
return $this;
}
/**
* Get parceiro
*
* #return \AppBundle\Entity\Parceiros
*/
public function getParceiro()
{
return $this->parceiro;
}
}
Here is my ParceirosEntity
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Parceiros
*
* #ORM\Table(name="parceiros")
* #ORM\Entity(repositoryClass="AppBundle\Repository\ParceirosRepository")
* #ORM\Entity()
* #ORM\HasLifecycleCallbacks()
*/
class Parceiros
{
/**
* #var int
*
* #ORM\Column(name="id", type="integer")
* #ORM\Id
* #ORM\GeneratedValue(strategy="AUTO")
* #ORM\OneToMany(targetEntity="Coberturas", mappedBy="parceiro")
*/
private $id;
/**
* #var string
*
* #ORM\Column(name="razaoSocial", type="string", length=255)
*/
private $razaoSocial;
/**
* #var string
*
* #ORM\Column(name="nomeFantasia", type="string", length=255, nullable=true)
*/
private $nomeFantasia;
/**
* #var string
*
* #ORM\Column(name="cnpj", type="string", length=17, nullable=true)
*/
private $cnpj;
/**
* #var string
*
* #ORM\Column(name="inscEstadual", type="string", length=60, nullable=true)
*/
private $inscEstadual;
/**
* #var string
*
* #ORM\Column(name="cep", type="string", length=9, nullable=true)
*/
private $cep;
/**
* #var string
*
* #ORM\Column(name="endereco", type="string", length=160, nullable=true)
*/
private $endereco;
/**
* #var string
*
* #ORM\Column(name="numero", type="string", length=30, nullable=true)
*/
private $numero;
/**
* #var string
*
* #ORM\Column(name="complemento", type="string", length=30, nullable=true)
*/
private $complemento;
/**
* #var string
*
* #ORM\Column(name="bairro", type="string", length=80, nullable=true)
*/
private $bairro;
/**
* #var string
*
* #ORM\Column(name="cidade", type="string", length=100, nullable=true)
*/
private $cidade;
/**
* #var string
*
* #ORM\Column(name="estado", type="string", length=2, nullable=true)
*/
private $estado;
/**
* #var \DateTime
*
* #ORM\Column(name="created", type="datetime", nullable=true)
*/
private $created;
/**
* #var \DateTime
*
* #ORM\Column(name="updated", type="datetime", nullable=true)
*/
private $updated;
/**
* #var bool
*
* #ORM\Column(name="ativo", type="boolean", nullable=true)
*/
private $ativo = 1;
/**
* #var bool
*
* #ORM\Column(name="deletado", type="boolean", nullable=true)
*/
private $deletado = 0;
/**
* Get id
*
* #return int
*/
public function getId()
{
return $this->id;
}
/**
* Set razaoSocial
*
* #param string $razaoSocial
*
* #return Parceiros
*/
public function setRazaoSocial($razaoSocial)
{
$this->razaoSocial = $razaoSocial;
return $this;
}
/**
* Get razaoSocial
*
* #return string
*/
public function getRazaoSocial()
{
return $this->razaoSocial;
}
/**
* Set nomeFantasia
*
* #param string $nomeFantasia
*
* #return Parceiros
*/
public function setNomeFantasia($nomeFantasia)
{
$this->nomeFantasia = $nomeFantasia;
return $this;
}
/**
* Get nomeFantasia
*
* #return string
*/
public function getNomeFantasia()
{
return $this->nomeFantasia;
}
/**
* Set cnpj
*
* #param string $cnpj
*
* #return Parceiros
*/
public function setCnpj($cnpj)
{
$this->cnpj = $cnpj;
return $this;
}
/**
* Get cnpj
*
* #return string
*/
public function getCnpj()
{
return $this->cnpj;
}
/**
* Set inscEstadual
*
* #param string $inscEstadual
*
* #return Parceiros
*/
public function setInscEstadual($inscEstadual)
{
$this->inscEstadual = $inscEstadual;
return $this;
}
/**
* Get inscEstadual
*
* #return string
*/
public function getInscEstadual()
{
return $this->inscEstadual;
}
/**
* Set cep
*
* #param string $cep
*
* #return Parceiros
*/
public function setCep($cep)
{
$this->cep = $cep;
return $this;
}
/**
* Get cep
*
* #return string
*/
public function getCep()
{
return $this->cep;
}
/**
* Set endereco
*
* #param string $endereco
*
* #return Parceiros
*/
public function setEndereco($endereco)
{
$this->endereco = $endereco;
return $this;
}
/**
* Get endereco
*
* #return string
*/
public function getEndereco()
{
return $this->endereco;
}
/**
* Set numero
*
* #param string $numero
*
* #return Parceiros
*/
public function setNumero($numero)
{
$this->numero = $numero;
return $this;
}
/**
* Get numero
*
* #return string
*/
public function getNumero()
{
return $this->numero;
}
/**
* Set complemento
*
* #param string $complemento
*
* #return Parceiros
*/
public function setComplemento($complemento)
{
$this->complemento = $complemento;
return $this;
}
/**
* Get complemento
*
* #return string
*/
public function getComplemento()
{
return $this->complemento;
}
/**
* Set bairro
*
* #param string $bairro
*
* #return Parceiros
*/
public function setBairro($bairro)
{
$this->bairro = $bairro;
return $this;
}
/**
* Get bairro
*
* #return string
*/
public function getBairro()
{
return $this->bairro;
}
/**
* Set cidade
*
* #param string $cidade
*
* #return Parceiros
*/
public function setCidade($cidade)
{
$this->cidade = $cidade;
return $this;
}
/**
* Get cidade
*
* #return string
*/
public function getCidade()
{
return $this->cidade;
}
/**
* Set estado
*
* #param string $estado
*
* #return Parceiros
*/
public function setEstado($estado)
{
$this->estado = $estado;
return $this;
}
/**
* Get estado
*
* #return string
*/
public function getEstado()
{
return $this->estado;
}
/**
* Set created
*
* #param \DateTime $created
*
* #return Parceiros
*/
public function setCreated($created)
{
$this->created = $created;
return $this;
}
/**
* Get created
*
* #return \DateTime
*/
public function getCreated()
{
return $this->created;
}
/**
* Set updated
*
* #param \DateTime $updated
*
* #return Parceiros
*/
public function setUpdated($updated)
{
$this->updated = $updated;
return $this;
}
/**
* Get updated
*
* #return \DateTime
*/
public function getUpdated()
{
return $this->updated;
}
/**
* Set ativo
*
* #param boolean $ativo
*
* #return Parceiros
*/
public function setAtivo($ativo)
{
$this->ativo = $ativo;
return $this;
}
/**
* Get ativo
*
* #return bool
*/
public function getAtivo()
{
return $this->ativo;
}
/**
* Set deletado
*
* #param boolean $deletado
*
* #return Parceiros
*/
public function setDeletado($deletado)
{
$this->deletado = $deletado;
return $this;
}
/**
* Get deletado
*
* #return bool
*/
public function getDeletado()
{
return $this->deletado;
}
/**
* #ORM\PrePersist
*/
public function setCreatedValue()
{
$this->created = new \DateTime();
}
/**
* #ORM\postUpdate
*/
public function setUpdatedValue()
{
$this->updated = new \DateTime();
}
}
I just wanna show an SelectBox to user select for what "parceiro" he wanna insert a new "cobertura".
Thanks for the help...

Entity class has no field or association named like in my DB

I want to create an request that recovers a number according to e.rules_id, e.status_id
public function findStat()
{
$types = $this->em
->getRepository('EthanRestBundle:EthanRules')
->createQueryBuilder('e')
->select('e.rules_id, e.status_id, COUNT(*)')
->groupBy('e.rules_id, e.status_id')
->orderBy('rules_id');
$types = $types->getQuery()->getSingleScalarResult();
return $types;
}
The error message:
[Semantical Error] line 0, col 9 near 'rules_id, e.status_id,': Error: Class Ethan\RestBundle\Entity\EthanRules has no field or association named rules_id"
I develop on Symfony 2 with FosrestBundle to create a REST Application
namespace Ethan\RestBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* EthanRules
*
* #ORM\Table(name="ethan_rules")
* #ORM\Entity
*/
class EthanRules
{
/**
* #var integer
*
* #ORM\Column(name="id", type="integer", nullable=false)
* #ORM\Id
* #ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* #var string
*
* #ORM\Column(name="customer_key", type="string", length=45, nullable=false)
*/
private $customerKey;
/**
* #var string
*
* #ORM\Column(name="subscription_key", type="string", length=45, nullable=true)
*/
private $subscriptionKey;
/**
* #var string
*
* #ORM\Column(name="pole", type="string", length=45, nullable=false)
*/
private $pole;
/**
* #var string
*
* #ORM\Column(name="link_number", type="string", length=255, nullable=false)
*/
private $linkNumber;
/**
* #var string
*
* #ORM\Column(name="user", type="string", length=100, nullable=true)
*/
private $user;
/**
* #var \DateTime
*
* #ORM\Column(name="date_rdv", type="datetime", nullable=true)
*/
private $dateRdv;
/**
* #var \DateTime
*
* #ORM\Column(name="created_at", type="datetime", nullable=false)
*/
private $createdAt;
/**
* #var \DateTime
*
* #ORM\Column(name="updated_at", type="datetime", nullable=false)
*/
private $updatedAt;
/**
* #var \Rules
*
* #ORM\ManyToOne(targetEntity="Rules")
* #ORM\JoinColumns({
* #ORM\JoinColumn(name="rules_id", referencedColumnName="id")
* })
*/
private $rules;
/**
* #var \Status
*
* #ORM\ManyToOne(targetEntity="Status")
* #ORM\JoinColumns({
* #ORM\JoinColumn(name="status_id", referencedColumnName="id")
* })
*/
private $status;
public function _construct()
{
$this->createdAt = new \DateTime();
$this->createdAt->setTimestamp(time());
}
/**
* Get id
*
* #return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set customerKey
*
* #param string $customerKey
* #return EthanRules
*/
public function setCustomerKey($customerKey)
{
$this->customerKey = $customerKey;
return $this;
}
/**
* Get customerKey
*
* #return string
*/
public function getCustomerKey()
{
return $this->customerKey;
}
/**
* Set subscriptionKey
*
* #param string $subscriptionKey
* #return EthanRules
*/
public function setSubscriptionKey($subscriptionKey)
{
$this->subscriptionKey = $subscriptionKey;
return $this;
}
/**
* Get subscriptionKey
*
* #return string
*/
public function getSubscriptionKey()
{
return $this->subscriptionKey;
}
/**
* Set pole
*
* #param string $pole
* #return EthanRules
*/
public function setPole($pole)
{
$this->pole = $pole;
return $this;
}
/**
* Get pole
*
* #return string
*/
public function getPole()
{
return $this->pole;
}
/**
* Set linkNumber
*
* #param string $linkNumber
* #return EthanRules
*/
public function setLinkNumber($linkNumber)
{
$this->linkNumber = $linkNumber;
return $this;
}
/**
* Get linkNumber
*
* #return string
*/
public function getLinkNumber()
{
return $this->linkNumber;
}
/**
* Set user
*
* #param string $user
* #return EthanRules
*/
public function setUser($user)
{
$this->user = $user;
return $this;
}
/**
* Get user
*
* #return string
*/
public function getUser()
{
return $this->user;
}
/**
* Set dateRdv
*
* #param \DateTime $dateRdv
* #return EthanRules
*/
public function setDateRdv($dateRdv)
{
$this->dateRdv = $dateRdv;
return $this;
}
/**
* Get dateRdv
*
* #return \DateTime
*/
public function getDateRdv()
{
return $this->dateRdv;
}
/**
* Set createdAt
*
* #param \DateTime $createdAt
* #return EthanRules
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt
*
* #return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set updatedAt
*
* #param \DateTime $updatedAt
* #return EthanRules
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt
*
* #return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Set rules
*
* #param \Ethan\RestBundle\Entity\Rules $rules
* #return EthanRules
*/
public function setRules(\Ethan\RestBundle\Entity\Rules $rules = null)
{
$this->rules = $rules;
return $this;
}
/**
* Get rules
*
* #return \Ethan\RestBundle\Entity\Rules
*/
public function getRules()
{
return $this->rules;
}
/**
* Set status
*
* #param \Ethan\RestBundle\Entity\Status $status
* #return EthanRules
*/
public function setStatus(\Ethan\RestBundle\Entity\Status $status = null)
{
$this->status = $status;
return $this;
}
/**
* Get status
*
* #return \Ethan\RestBundle\Entity\Status
*/
public function getStatus()
{
return $this->status;
}
}
Since you have not defined a property $rules_id Doctrine can not select one. Instead join both entities and select their ids:
$types = $this->em
->getRepository('EthanRestBundle:EthanRules')
->createQueryBuilder('e')
->select('r.id AS rule_id, s.id AS status_id, COUNT(DISTINCT e.id)')
->leftJoin('e.rules', 'r')
->leftJoin('e.status', 's')
->groupBy('r.id, s.id')
->orderBy('r.id');
BUT: you use getSingleScalarResult() which will not work with multiple result rows!
Propably getArrayResult() will be best choice for you, since it looks like you don't want to work with objects.
Doctrine by default names all fields with camelCase in the entity classes but with_underscores in the Database.
You need to change your rules_id and status_id to rules and status accordingly.

Categories