2015-05-21 1 views
0

Я борюсь со следующим. Я пишу базовые отношения «Пользователь/Заказ», где несколько пользователей играют разные роли. Поэтому каждый заказ связан с пользователем, который является инициатором заказа, курьер (пользователь, который собирает заказ), получатель, пользователь, который будет получать заказ.Doctrine Orm - несколько OneToMany присоединяется к тому же столу

Стоит отметить, что таблица заказов будет иметь ряд взаимосвязей с таблицей пользователя. Каждый заказ будет иметь отдельного пользователя для каждой группы, в то время как каждый пользователь может иметь несколько отношений с различными ордерами.

К сожалению, я получаю эту ошибку, и я не уверен, как получить вокруг него произошло

Исключения при выполнении «SELECT t0.id AS id1, t0.size AS size2, t0. Итого total3, t0.initial_offer А.С. initial_offer4, t0.user_order_owner А.С. user_order_owner5, t0.user_order_to А.С. user_order_to6, t0.user_order_from AS user_order_from7, t0.user_order_courier AS user_order_courier8, t0.event_collection_id А.С. event_collection_id9, t0.event_delivery_id А.С. event_delivery_id10, t0.currency_id AS currency_id11, t0 .capacity_limitation_id AS capacity_limitation_id12, t0.negotiation_id AS negotiation_id13, t0.address_from_id AS address_from_id14, t0.address_to_id AS address_to_id15 FROM order t0 WHERE t0.user_order_courier =? ' с PARAMS [1]:

ИЛИ:

SQLSTATE [42000]: Ошибка синтаксиса или нарушение прав доступа: 1064 У вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее вашей версии сервера MySQL , для правильного синтаксиса для использования рядом с 'order t0 WHERE t0.user_order_courier = '1'»в строке 1

Каждый заказ в системе будет иметь пользователь, который является:

  1. Courier
  2. Получатель
  3. Sender

I am с подключением и соединениями orderCourier являются следующими:

Заказать Entity ::

/** 
    * @ORM\ManyToOne(targetEntity="RoleBasedUser\Entity\User", inversedBy="orderCourier") 
    * @ORM\JoinColumn(name="user_order_courier", referencedColumnName="id") 
    */ 
    private $userCourier; 

Entity Пользователь

/** 
* @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userCourier") 
*/ 
private $orderCourier; 

ПОЛНАЯ лиц являются следующие:

Мой Entity Пользователь:

<?php 
namespace RoleBasedUser\Entity; 
use Doctrine\ORM\Mapping AS ORM; 
use Doctrine\Common\Collections\ArrayCollection; 
use Doctrine\Common\Collections\Collection; 
use Gedmo\Mapping\Annotation as Gedmo; 
use Rbac\Role\RoleInterface; 
use ZfcRbac\Identity\IdentityInterface; 

/** 
* Class User 
* @package RoleBasedUser\Entity 
* 
* @ORM\Entity(repositoryClass="UserRepository") 
* @ORM\Table(name="rbu_users") 
*/ 
class User implements IdentityInterface 
{ 
    /** 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    * @ORM\Column(name="id", type="integer", nullable=false) 
    * 
    * @var int 
    * @access protected 
    */ 
    private $id; 

    /** 


* @ORM\Column(type="string", length=32, nullable=false, name="uuid") 
    * 
    * @var string 
    * @access private 
    */ 
    private $uuid; 

    /** 
    * @ORM\Column(type="string", unique=true, length=255, nullable=true, name="email") 
    * 
    * @var string 
    * @access private 
    */ 
    private $email; 

    /** 
    * @ORM\Column(type="smallint", nullable=true, name="state") 
    * 
    * @var integer 
    * @access private 
    */ 
    private $state; 

    /** 
    * @ORM\OneToMany(targetEntity="RoleBasedUser\Entity\LocationHistory", mappedBy="user") 
    */ 
    private $location; 
/** 
* @ORM\Column(nullable=true) 
*/ 
private $parent; 

/** 
* @ORM\Column(nullable=true) 
*/ 
private $firstName; 

/** 
* @ORM\Column(nullable=true) 
*/ 
private $lastName; 

/** 
* @ORM\Column(nullable=true) 
*/ 
private $password; 

// /** 
//  * @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userOwner") 
//  */ 
// private $orderOwner; 
// 
// /**      ` 
//  * @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userTo") 
//  */ 
// private $orderTo; 
// 
// /** 
//  * @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userFrom") 
//  */ 
// private $orderFrom; 
// 
    /** 
    * @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userCourier") 
    */ 
    private $orderCourier; 

    /** 
    * @ORM\OneToMany(targetEntity="RoleBasedUser\Entity\Feedback", mappedBy="client") 
    */ 
    private $clientFeedback; 

    /** 
    * @ORM\OneToMany(targetEntity="RoleBasedUser\Entity\Feedback", mappedBy="courier") 
    */ 
    private $feedbackCourier; 

    /** 
    * @ORM\OneToMany(targetEntity="RoleBasedUser\Entity\UserAvailability", mappedBy="user") 
    */ 
    private $pleaseUseMe; 

    /** 
    * @ORM\OneToMany(targetEntity="RoleBasedUser\Entity\UserStoredLocations", mappedBy="user") 
    */ 
    private $userAddresses; 

    /** 
    * @ORM\ManyToOne(targetEntity="RoleBasedUser\Entity\Corporate", inversedBy="user") 
    * @ORM\JoinColumn(name="corporate_id", referencedColumnName="id") 
    */ 
    private $corporate; 

    /** 
* @ORM\OneToMany(targetEntity="Negotiation\Entity\Offer", mappedBy="user") 
*/ 
private $offer; 

/** 
* @ORM\ManyToMany(targetEntity="HierarchicalRole") 
* @ORM\JoinTable(name="rbu_users_roles", 
*  joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, 
*  inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id")} 
*) 
* 
* @var Collection 
* @access private 
*/ 
private $roles; 

/** 
* @Gedmo\Timestampable(on="create") 
* @ORM\Column(type="datetime") 
* 
* @var \DateTime 
* @access protected 
*/ 
protected $created; 

/** 
* @Gedmo\Timestampable(on="update") 
* @ORM\Column(type="datetime") 
* 
* @var \DateTime 
* @access protected 
*/ 
protected $modified; 

/** 
* Initiates all ArrayCollections 
* 
* @access public 
*/ 
public function __construct() 
{ 
    $this->roles = new ArrayCollection(); 
    $this->orderOwner = new ArrayCollection(); 
    $this->orderTo = new ArrayCollection(); 
    $this->orderFrom = new ArrayCollection(); 
    $this->orderCourier = new ArrayCollection(); 
    $this->clientFeedback = new ArrayCollection(); 
    $this->feedbackCourier = new ArrayCollection(); 
    $this->pleaseUseMe = new ArrayCollection(); 
    $this->userAddresses = new ArrayCollection(); 
    $this->offer = new ArrayCollection(); 
} 

/** 
* {@inheritDoc} 
*/ 
public function getRoles() 
{ 
    return $this->roles->toArray(); 
} 

public function getRole() 
{ 
    if(!empty($this->getRoles()[0])) { 
     $roleObject = $this->getRoles()[0]; 
     return $roleObject->getName(); 
    } else return "Not set"; 

} 

/** 
* Set the list of roles 
* @param Collection $roles 
*/ 
public function setRoles(Collection $roles) 
{ 
    $this->roles->clear(); 
    foreach ($roles as $role) { 
     $this->roles[] = $role; 
    } 
} 

/** 
* Add one role to roles list 
* @param \Rbac\Role\RoleInterface $role 
*/ 
public function addRole(RoleInterface $role) 
{ 
    $this->roles[] = $role; 
} 

/** 
* Add Roles to the collection 
* @param Collection $roles 
*/ 
public function addRoles(Collection $roles) 
{ 
    foreach($roles as $role) { 
     $this->roles->add($role); 
    } 
} 

/** 
* Remove Roles from the collection 
* @param Collection $roles 
*/ 
public function removeRoles(Collection $roles) 
{ 
    foreach($roles as $role) { 
     $this->roles->removeElement($role); 
    } 
} 

/** 
* @return mixed 
*/ 
public function getCorporate() 
{ 
    return $this->corporate; 
} 

/** 
* @param mixed $corporate 
*/ 
public function setCorporate($corporate) 
{ 
    $this->corporate = $corporate; 
} 

/** 
* @return \DateTime 
*/ 
public function getCreated() 
{ 
    return $this->created; 
} 

/** 
* @param \DateTime $created 
*/ 
public function setCreated($created) 
{ 
    $this->created = $created; 
} 

/** 
* @return mixed 
*/ 
public function getFirstName() 
{ 
    return $this->firstName; 
} 

/** 
* @param mixed $firstName 
*/ 
public function setFirstName($firstName) 
{ 
    $this->firstName = $firstName; 
} 

/** 
* @return int 
*/ 
public function getId() 
{ 
    return $this->id; 
} 

/** 
* @param int $id 
*/ 
public function setId($id) 
{ 
    $this->id = $id; 
} 

/** 
* @return mixed 
*/ 
public function getLastName() 
{ 
    return $this->lastName; 
} 

/** 
* @param mixed $lastName 
*/ 
public function setLastName($lastName) 
{ 
    $this->lastName = $lastName; 
} 

/** 
* @return mixed 
*/ 
public function getLocation() 
{ 
    return $this->location; 
} 

/** 
* @param mixed $location 
*/ 
public function setLocation($location) 
{ 
    $this->location = $location; 
} 

/** 
* @return \DateTime 
*/ 
public function getModified() 
{ 
    return $this->modified; 
} 

/** 
* @param \DateTime $modified 
*/ 
public function setModified($modified) 
{ 
    $this->modified = $modified; 
} 

/** 
* @return mixed 
*/ 
public function getParent() 
{ 
    return $this->parent; 
} 

/** 
* @param mixed $parent 
*/ 
public function setParent($parent) 
{ 
    $this->parent = $parent; 
} 

/** 
* @return mixed 
*/ 
public function getPassword() 
{ 
    return $this->password; 
} 

/** 
* @param mixed $password 
*/ 
public function setPassword($password) 
{ 
    $this->password = $password; 
} 

/** 
* @return string 
*/ 
public function getEmail() 
{ 
    return $this->email; 
} 

/** 
* @param string $email 
*/ 
public function setEmail($email) 
{ 
    $this->email = $email; 
} 

/** 
* @return string 
*/ 
public function getUuid() 
{ 
    return $this->uuid; 
} 

/** 
* @param string $uuid 
*/ 
public function setUuid($uuid) 
{ 
    $this->uuid = $uuid; 
} 

/** 
* {@inheritDoc} 
*/ 
public function getOrderOwner() 
{ 
    return $this->orderOwner->toArray(); 
} 

/** 
* @param Collection $orderOwner 
*/ 
public function setOrderOwner(Collection $orderOwner) 
{ 
    $this->orderOwner->clear(); 
    foreach ($orderOwner as $order) { 
     $this->orderOwner[] = $order; 
    } 
} 

/** 
* @param Collection $orderOwner 
*/ 
public function addOrderOwner(Collection $orderOwner) 
{ 
    foreach($orderOwner as $order) { 
     $this->orderOwner->add($order); 
    } 
} 

/** 
* @param Collection $orderOwner 
*/ 
public function removeOrderOwner(Collection $orderOwner) 
{ 
    foreach($orderOwner as $order) { 
     $this->orderOwner->removeElement($order); 
    } 
} 

/** 
* {@inheritDoc} 
*/ 
public function getOrderTo() 
{ 
    return $this->orderTo->toArray(); 
} 

/** 
* @param Collection $orderTo 
*/ 
public function setOrderTo(Collection $orderTo) 
{ 
    $this->orderTo->clear(); 
    foreach ($orderTo as $order) { 
     $this->orderTo[] = $order; 
    } 
} 

/** 
* @param Collection $orderTo 
*/ 
public function addOrderTo(Collection $orderTo) 
{ 
    foreach($orderTo as $order) { 
     $this->orderTo->add($order); 
    } 
} 

/** 
* @param Collection $orderTo 
*/ 
public function removeOrderTo(Collection $orderTo) 
{ 
    foreach($orderTo as $order) { 
     $this->orderTo->removeElement($order); 
    } 
} 


/** 
* {@inheritDoc} 
*/ 
public function getOrderFrom() 
{ 
    return $this->orderFrom->toArray(); 
} 

/** 
* @param Collection $orderFrom 
*/ 
public function setOrderFrom(Collection $orderFrom) 
{ 
    $this->orderFrom->clear(); 
    foreach ($orderFrom as $order) { 
     $this->orderFrom[] = $order; 
    } 
} 

/** 
* @param Collection $orderFrom 
*/ 
public function addOrderFrom(Collection $orderFrom) 
{ 
    foreach($orderFrom as $order) { 
     $this->orderFrom->add($order); 
    } 
} 

/** 
* @param Collection $orderFrom 
*/ 
public function removeOrderFrom(Collection $orderFrom) 
{ 
    foreach($orderFrom as $order) { 
     $this->orderFrom->removeElement($order); 
    } 
} 

/** 
* {@inheritDoc} 
*/ 
public function getOrderCourier() 
{ 
    return $this->orderCourier->toArray(); 
} 

/** 
* @param Collection $orderCourier 
*/ 
public function setOrderCourier(Collection $orderCourier) 
{ 
    $this->orderCourier->clear(); 
    foreach ($orderCourier as $order) { 
     $this->orderCourier[] = $order; 
    } 
} 

/** 
* @param Collection $orderCourier 
*/ 
public function addOrderCourier(Collection $orderCourier) 
{ 
    foreach($orderCourier as $order) { 
     $this->orderCourier->add($order); 
    } 
} 

/** 
* @param Collection $orderCourier 
*/ 
public function removeOrderCourier(Collection $orderCourier) 
{ 
    foreach($orderCourier as $order) { 
     $this->orderCourier->removeElement($order); 
    } 
} 

/** 
* {@inheritDoc} 
*/ 
public function getClientFeedback() 
{ 
    return $this->clientFeedback->toArray(); 
} 

/** 
* @param Collection $clientFeedback 
*/ 
public function setClientFeedback(Collection $clientFeedback) 
{ 
    $this->clientFeedback->clear(); 
    foreach ($clientFeedback as $feedback) { 
     $this->clientFeedback[] = $feedback; 
    } 
} 

/** 
* @param Collection $clientFeedback 
*/ 
public function addClientFeedback(Collection $clientFeedback) 
{ 
    foreach($clientFeedback as $feedback) { 
     $this->clientFeedback->add($feedback); 
    } 
} 

/** 
* @param Collection $clientFeedback 
*/ 
public function removeClientFeedback(Collection $clientFeedback) 
{ 
    foreach($clientFeedback as $feedback) { 
     $this->clientFeedback->removeElement($feedback); 
    } 
} 

/** 
* {@inheritDoc} 
*/ 
public function getFeedbackCourier() 
{ 
    return $this->feedbackCourier->toArray(); 
} 

/** 
* @param Collection $feedbackCourier 
*/ 
public function setFeedbackCourier(Collection $feedbackCourier) 
{ 
    $this->feedbackCourier->clear(); 
    foreach ($feedbackCourier as $feedback) { 
     $this->feedbackCourier[] = $feedback; 
    } 
} 

/** 
* @param Collection $feedbackCourier 
*/ 
public function addFeedbackCourier(Collection $feedbackCourier) 
{ 
    foreach($feedbackCourier as $feedback) { 
     $this->feedbackCourier->add($feedback); 
    } 
} 

/** 
* @param Collection $feedbackCourier 
*/ 
public function removeFeedbackCourier(Collection $feedbackCourier) 
{ 
    foreach($feedbackCourier as $feedback) { 
     $this->feedbackCourier->removeElement($feedback); 
    } 
} 

/** 
* {@inheritDoc} 
*/ 
public function getPleaseUseMe() 
{ 
    return $this->pleaseUseMe->toArray(); 
} 

/** 
* @param Collection $pleaseUseMe 
*/ 
public function setPleaseUseMe(Collection $pleaseUseMe) 
{ 
    $this->pleaseUseMe->clear(); 
    foreach ($pleaseUseMe as $useme) { 
     $this->pleaseUseMe[] = $useme; 
    } 
} 

/** 
* @param Collection $pleaseUseMe 
*/ 
public function addPleaseUseMe(Collection $pleaseUseMe) 
{ 
    foreach($pleaseUseMe as $useme) { 
     $this->pleaseUseMe->add($useme); 
    } 
} 

/** 
* @param Collection $pleaseUseMe 
*/ 
public function removePleaseUseMe(Collection $pleaseUseMe) 
{ 
    foreach($pleaseUseMe as $useme) { 
     $this->pleaseUseMe->removeElement($useme); 
    } 
} 

/** 
* {@inheritDoc} 
*/ 
public function getUserAddresses() 
{ 
    return $this->userAddresses->toArray(); 
} 

/** 
* @param Collection $userAddresses 
*/ 
public function setUserAddresses(Collection $userAddresses) 
{ 
    $this->userAddresses->clear(); 
    foreach ($userAddresses as $address) { 
     $this->userAddresses[] = $address; 
    } 
} 

/** 
* @param Collection $userAddresses 
*/ 
public function addUserAddresses(Collection $userAddresses) 
{ 
    foreach($userAddresses as $address) { 
     $this->userAddresses->add($address); 
    } 
} 

/** 
* @param Collection $userAddresses 
*/ 
public function removeUserAddresses(Collection $userAddresses) 
{ 
    foreach($userAddresses as $address) { 
     $this->userAddresses->removeElement($address); 
    } 
} 

/** 
* {@inheritDoc} 
*/ 
public function getOffer() 
{ 
    return $this->offer->toArray(); 
} 

/** 
* @param Collection $offer 
*/ 
public function setOffer(Collection $offer) 
{ 
    $this->offer->clear(); 
    foreach ($offer as $n) { 
     $this->offer[] = $n; 
    } 
} 

/** 
* @param Collection $offer 
*/ 
public function addOffer(Collection $offer) 
{ 
    foreach($offer as $n) { 
     $this->offer->add($n); 
    } 
} 

/** 
* @param Collection $offer 
*/ 
public function removeOffer(Collection $offer) 
{ 
    foreach($offer as $n) { 
     $this->offer->removeElement($n); 
    } 
} 

/** 
* @param int $state 
*/ 
public function setState($state) 
{ 
    $this->state = $state; 
} 

/** 
* @return int 
*/ 
public function getState() 
{ 
    return $this->state; 
} 

} 

И мой заказ Сущность:

<?php 
namespace Negotiation\Entity; 
use Doctrine\ORM\Mapping AS ORM; 

/** 
* @ORM\Entity 
*/ 
class Order 
{ 
    /** 
    * @ORM\Id 
    * @ORM\Column(type="integer") 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @ORM\Column(type="integer", nullable=true) 
    */ 
    private $size; 

    /** 
    * @ORM\Column(type="float", length=15, nullable=true) 
    */ 
    private $total; 

    /** 
    * @ORM\Column(nullable=true) 
    */ 
    private $initialOffer; 

    /** 
    * @ORM\ManyToOne(targetEntity="RoleBasedUser\Entity\User", inversedBy="orderOwner") 
    * @ORM\JoinColumn(name="user_order_owner", referencedColumnName="id") 
    */ 
    private $userOwner; 

    /** 
    * @ORM\ManyToOne(targetEntity="RoleBasedUser\Entity\User", inversedBy="orderTo") 
    * @ORM\JoinColumn(name="user_order_to", referencedColumnName="id") 
    */ 
    private $userTo; 

    /** 
    * @ORM\OneToMany(targetEntity="RoleBasedUser\Entity\Feedback", mappedBy="order") 
    */ 
    private $feedback; 

    /** 
    * @ORM\ManyToOne(targetEntity="RoleBasedUser\Entity\User", inversedBy="orderFrom") 
    * @ORM\JoinColumn(name="user_order_from", referencedColumnName="id") 
    */ 
    private $userFrom; 

    /** 
    * @ORM\ManyToOne(targetEntity="RoleBasedUser\Entity\User", inversedBy="orderCourier") 
    * @ORM\JoinColumn(name="user_order_courier", referencedColumnName="id") 
    */ 
    private $userCourier; 

    /** 
    * @ORM\ManyToOne(targetEntity="Negotiation\Entity\Event", inversedBy="wayBillCollection") 
    */ 
    private $eventCollection; 

    /** 
    * @ORM\ManyToOne(targetEntity="Negotiation\Entity\Event", inversedBy="wayBillDelivery") 
    */ 
    private $eventDelivery; 

    /** 
    * @ORM\ManyToOne(targetEntity="Negotiation\Entity\Currency", inversedBy="order") 
    */ 
    private $currency; 

    /** 
    * @ORM\ManyToOne(targetEntity="Negotiation\Entity\CapacityLimitation", inversedBy="order") 
    */ 
    private $capacityLimitation; 

    /** 
    * @ORM\ManyToOne(targetEntity="Negotiation\Entity\Negotiation", inversedBy="order") 
    */ 
    private $negotiation; 

    /** 
    * @ORM\ManyToOne(targetEntity="Negotiation\Entity\Address", inversedBy="orderFrom") 
    */ 
    private $addressFrom; 

    /** 
    * @ORM\ManyToOne(targetEntity="Negotiation\Entity\Address", inversedBy="orderTo") 
    */ 
    private $addressTo; 

    /** 
    * @return mixed 
    */ 
    public function getAddressFrom() 
    { 
     return $this->addressFrom; 
    } 

    /** 
    * @param mixed $addressFrom 
    */ 
    public function setAddressFrom($addressFrom) 
    { 
     $this->addressFrom = $addressFrom; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getAddressTo() 
    { 
     return $this->addressTo; 
    } 

    /** 
    * @param mixed $addressTo 
    */ 
    public function setAddressTo($addressTo) 
    { 
     $this->addressTo = $addressTo; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getCapacityLimitation() 
    { 
     return $this->capacityLimitation; 
    } 

    /** 
    * @param mixed $capacityLimitation 
    */ 
    public function setCapacityLimitation($capacityLimitation) 
    { 
     $this->capacityLimitation = $capacityLimitation; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getCurrency() 
    { 
     return $this->currency; 
    } 

    /** 
    * @param mixed $currency 
    */ 
    public function setCurrency($currency) 
    { 
     $this->currency = $currency; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getEventCollection() 
    { 
     return $this->eventCollection; 
    } 

    /** 
    * @param mixed $eventCollection 
    */ 
    public function setEventCollection($eventCollection) 
    { 
     $this->eventCollection = $eventCollection; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getEventDelivery() 
    { 
     return $this->eventDelivery; 
    } 

    /** 
    * @param mixed $eventDelivery 
    */ 
    public function setEventDelivery($eventDelivery) 
    { 
     $this->eventDelivery = $eventDelivery; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getFeedback() 
    { 
     return $this->feedback; 
    } 

    /** 
    * @param mixed $feedback 
    */ 
    public function setFeedback($feedback) 
    { 
     $this->feedback = $feedback; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * @param mixed $id 
    */ 
    public function setId($id) 
    { 
     $this->id = $id; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getInitialOffer() 
    { 
     return $this->initialOffer; 
    } 

    /** 
    * @param mixed $initialOffer 
    */ 
    public function setInitialOffer($initialOffer) 
    { 
     $this->initialOffer = $initialOffer; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getNegotiation() 
    { 
     return $this->negotiation; 
    } 

    /** 
    * @param mixed $negotiation 
    */ 
    public function setNegotiation($negotiation) 
    { 
     $this->negotiation = $negotiation; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getSize() 
    { 
     return $this->size; 
    } 

    /** 
    * @param mixed $size 
    */ 
    public function setSize($size) 
    { 
     $this->size = $size; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getTotal() 
    { 
     return $this->total; 
    } 

    /** 
    * @param mixed $total 
    */ 
    public function setTotal($total) 
    { 
     $this->total = $total; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getUserCourier() 
    { 
     return $this->userCourier; 
    } 

    /** 
    * @param mixed $userCourier 
    */ 
    public function setUserCourier($userCourier) 
    { 
     $this->userCourier = $userCourier; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getUserFrom() 
    { 
     return $this->userFrom; 
    } 

    /** 
    * @param mixed $userFrom 
    */ 
    public function setUserFrom($userFrom) 
    { 
     $this->userFrom = $userFrom; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getUserOwner() 
    { 
     return $this->userOwner; 
    } 

    /** 
    * @param mixed $userOwner 
    */ 
    public function setUserOwner($userOwner) 
    { 
     $this->userOwner = $userOwner; 
    } 

    /** 
    * @return mixed 
    */ 
    public function getUserTo() 
    { 
     return $this->userTo; 
    } 

    /** 
    * @param mixed $userTo 
    */ 
    public function setUserTo($userTo) 
    { 
     $this->userTo = $userTo; 
    } 
} 

EDIT:

Ошибки появляются при попытке редактирования пользователя и исключения происходят на: $ this-> updateForm-> связывания ($ объекта);

$user_id = (int) $this->params()->fromRoute('user_id', 0); 
     $object = $this->userService->find($user_id); 

     $prg = $this->prg(); 

     if ($prg instanceof Response) { 
      return $prg; 
     } elseif ($prg === false) { 

      $this->updateForm->bind($object); 

      return $this->getVM()->setVariables([ 
        'user' => $object, 
        'form' => $this->updateForm 
       ]); 
     } 

EDIT:

По существу эти три таблицы вызывают проблему, как только я их удаления, все работает, как ожидалось:

// /** 
//  * @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userOwner") 
//  */ 
// private $orderOwner; 

// /**      ` 
//  * @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userTo") 
//  */ 
// private $orderTo; 

// /** 
//  * @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userFrom") 
//  */ 
// private $orderFrom; 

// /** 
//  * @ORM\OneToMany(targetEntity="Negotiation\Entity\Order", mappedBy="userCourier") 
//  */ 
// private $orderCourier; 
+1

Что вы пытаетесь сделать, это вызывает эти ошибки? – Ankh

+0

Я открываю форму для редактирования пользователя ... – HappyCoder

+0

Спасибо за ваш вклад, вы положили меня на правильный путь, чтобы решить эту проблему. Проблема заключалась в том, что мои геттеры и сеттеры были обнаружены, когда я посмотрел, что я пытаюсь сделать. – HappyCoder

ответ

0

Решение этой проблемы было разобраться в своих геттеры и сеттеры. Я был слишком сосредоточен на аннотации проблемы, что я никогда не смотрел на них с возможной ошибкой.

Благодаря Свенгали, который заставил меня взглянуть на то, что я делаю неправильно.

Мои Геттеры/сеттеры, где первоначально как это:

/** 
    * {@inheritDoc} 
    */ 
    public function getOrderCourier() 
    { 
     return $this->orderCourier->toArray(); 
    } 

    /** 
    * @param Collection $orderCourier 
    */ 
    public function setOrderCourier(Collection $orderCourier) 
    { 
     $this->orderCourier->clear(); 
     foreach ($orderCourier as $order) { 
      $this->orderCourier[] = $order; 
     } 
    } 

    /** 
    * @param Collection $orderCourier 
    */ 
    public function addOrderCourier(Collection $orderCourier) 
    { 
     foreach($orderCourier as $order) { 
      $this->orderCourier->add($order); 
     } 
    } 

    /** 
    * @param Collection $orderCourier 
    */ 
    public function removeOrderCourier(Collection $orderCourier) 
    { 
     foreach($orderCourier as $order) { 
      $this->orderCourier->removeElement($order); 
     } 
    } 

Я изменил их:

/** 
* @return mixed 
*/ 
public function getOrderCourier() 
{ 
    return $this->orderCourier; 
} 

/** 
* @param mixed $orderCourier 
*/ 
public function setOrderCourier($orderCourier) 
{ 
    $this->orderCourier = $orderCourier; 
} 

и проблема больше не сохраняется.

Спасибо за ввод, хотя это может быть только простой вопрос, часто это все потребности разработчика, чтобы подтолкнуть их в правильном направлении.

+0

Вы сами пишете сеттер/Getters? Доктрина может генерировать их для вас.Также, на мой взгляд, нехорошо добавлять пользовательские методы в Entity из-за этого возможного автообновления. Таким образом, вы просто удаляете методы и воссоздаете их без потери функциональности. – danopz

+0

Привет - спасибо за ваш ввод, я только недавно начал автосоздавать мои мои таблицы mysql (я не мог понять это из-за ZF2, вызывающего исключения), однако, поскольку они переходят к бродягам, они, похоже, исчезли. Есть ли у вас какие-либо стандартные стандартные команды? – HappyCoder