У меня есть система отправки электронной почты, которая хранит их в базе данных, и CRON несет ответственность за их отправку. Я хотел сохранить объекты объектов, которые должны быть включены в это письмо непосредственно в столбце содержимого сущности электронной почты (Тип столбца - это объект).Сохранение объекта объекта в таблице другого пользователя
У меня есть запрос, который принимает частичные значения от других объектов, но doctrine сохраняет разные столбцы, чем я просил. Это приводит к пустым данным в электронной почте.
Я не знаю, ясно ли я объяснил, если так, я бы ответил на любые неясные моменты.
Email объект:
/**
* Email
*
* @ORM\Entity
* @ORM\Table(name="email")
*/
class Email
{
const STATUS_WAITING = 'waiting';
const STATUS_SENT = 'sent';
const STATUS_FAILED = 'failed';
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="language", type="string", length=10, nullable=true)
*/
private $language;
/**
* @var text
*
* @ORM\Column(type="string", length=10)
*/
private $status;
/**
* @var object
*
* @ORM\Column(type="object")
*/
private $content;
}
Встроенный объект электронной почты со всеми необходимыми данными (ЭТО НЕ ОБЪЕКТ):
class BaseMail
{
/**
* @var string
*/
protected $from;
/**
* @var string from translation file
*/
protected $subject;
/**
* @var string
*/
protected $plainTemplate;
/**
* @var string
*/
protected $htmlTemplate;
/**
* @var array
*/
protected $options;
public function __construct(array $options = array())
{
$this->options = $options;
}
}
Код:
$order = $this->getDoctrine()->getRepository('AppBundle:Order')->findWithSomeUserPartialsFieldsAndRelations($id);
$email = new BaseEmail(array('object' => $order'));
$emailEntity = new Email();
$emailEntity->setContent($email);
И теперь, даже если $order
имеет поля около User
, они не сохраняются в столбце содержимого электронной почты. Так что, если я хочу сделать что-то вроде этого:
$order = $emailEntity->getContent()->getObject();
$userFirstName = $order->getUser()->getFirstname()
NULL
я получаю
;
Post кода или никто не может помочь вам братан ... –
@ R.CanserYanbakan Я отредактировал мой вопрос – mmmm