. */ namespace Volkszaehler\Model; use Doctrine\Common\Collections\ArrayCollection; use Volkszaehler\Model; /** * Data entity * * @author Steffen Vogel * @package default * @todo rename? Bsp: DataSample, Sample, Reading * * @Entity * @Table( * name="data", * uniqueConstraints={ * @UniqueConstraint(name="unique_timestamp", columns={"timestamp", "channel_id"}) * } * ) */ class Data { /** * @Id * @Column(type="smallint", nullable=false) * @GeneratedValue(strategy="AUTO") * * @todo wait until DDC-117 is fixed (PKs on FKs) */ protected $id; /** * Ending timestamp of period in ms since 1970 * * @Column(type="bigint") */ protected $timestamp; /** * @Column(type="decimal", precision="5", scale="2") * @todo change to float after DCC-67 has been closed */ protected $value; /** * @ManyToOne(targetEntity="Channel", inversedBy="data") * @JoinColumn(name="channel_id", referencedColumnName="id") */ protected $channel; public function __construct(Model\Channel $channel, $timestamp, $value) { $this->channel = $channel; $this->value = $value; $this->timestamp = $timestamp; } public function toArray() { return array('channel' => $this->channel, 'timestamp' => $this->timestamp, 'value' => $this->value); } /** * setter & getter */ public function getValue() { return $this->value; } public function getTimestamp() { return $this->timestamp; } public function getChannel() { return $this->channel; } } ?>