【发布时间】:2015-06-13 09:18:33
【问题描述】:
我正在构建一个计算机配置器并获得了四个实体。
- 客户(不相关)
- 计算机(ID、客户、序列号、日期、[组件])
- 文章组(ID,名称)
- 文章(id、名称、价格、articleGroup、活动)
Computer 实体的属性 [components] 应该包含一个这样的数组:
$components = array(
'CPU' => array(
'name' => 'Intel Core i7',
'count' => 1,
'price' => 275),
'Mainboard' => array(
'name' => 'Gigabyte H97-D3H',
'count' => 1,
'price' => 75),
'RAM' => array(
'name' => '4GB DDRIII Kingston Value Ram',
'count' => 4,
'price' => 28),
'SSD' => array(
'name' => '512GB Samsung 850 Pro',
'count' => 1,
'price' => 400)
);
数组键的价格可能与文章实体的价格不同。(因为硬件的每日价格或因为我认为这个客户以更少的钱获得 cpu)
现在的问题是我不知道如何创建这个组件数组集合。
这是我的计算机实体:
<?php
namespace ctcrm\ConfiguratorBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Computer
*
* @ORM\Table()
* @ORM\Entity
*/
class Computer
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
* @Assert\NotBlank()
* @Assert\Length(
* min = 12,
* max = 12,
* minMessage = "no valid serial!",
* maxMessage = "no valid serial!"
* )
* @ORM\Column(name="serial", type="string", length=12)
*/
private $serial;
/**
* @var \DateTime
* @Assert\NotBlank()
* @ORM\Column(name="date", type="date")
*/
private $date;
/**
* @ORM\ManyToOne(targetEntity="Customer")
* @ORM\JoinColumn(name="customer_id", referencedColumnName="id")
* @Assert\NotBlank()
**/
private $customer;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set serial
*
* @param string $serial
* @return Computer
*/
public function setSerial($serial)
{
$this->serial = $serial;
return $this;
}
/**
* Get serial
*
* @return string
*/
public function getSerial()
{
return $this->serial;
}
/**
* Set date
*
* @param \DateTime $date
* @return Computer
*/
public function setDate($date)
{
$this->date = $date;
return $this;
}
/**
* Get date
*
* @return \DateTime
*/
public function getDate()
{
return $this->date;
}
/**
* @return mixed
*/
public function getCustomer()
{
return $this->customer;
}
/**
* @param mixed $customer
*/
public function setCustomer($customer)
{
$this->customer = $customer;
}
}
【问题讨论】:
标签: php arrays symfony doctrine-orm