Symfony 3.4全局变量

时间:2018-04-27 05:00:44

标签: php postgresql symfony doctrine postgis

我正在开发一个网络地图平台,它是关于地中海的地理定位数据(例如盐度,pH值,pCO2等......)来自突尼斯,马赛和热那亚之间的船只。

从海中检索的参数(盐度,pH值)的名称可能会根据字典而改变,但值仍然相同(ofc)。

所以我想要做的是在保存参数名称和词典之后,我想选择一个字典在应用程序中作为全局使用,应用程序中显示的所有数据必须在从所选择的参数名称下查找字典。

我想在标题中添加一个ChoiceType表单,我将选择所需的字典并在整个应用程序中使用。所选词典将在数据库中保存为已启用。

问题是,最好的方法是什么?

以下是我的实体:

字典

/**


* ParamDictionary
 *
 * @ORM\Table(name="param_dictionary")
 * @ORM\Entity(repositoryClass="AdminBundle\Repository\ParamDictionaryRepository")
 */

class ParamDictionary
{
    /**
     * @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=45)
     */
    private $name;

参数名称

 /**
 * ParamName
 *
 * @ORM\Table(name="param_name")
 * @ORM\Entity(repositoryClass="AdminBundle\Repository\ParamNameRepository")
 */

class ParamName
{
    /**
     * @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=10)
     */
    private $name;

    /**
     * @var ParamReference
     *
     *@ORM\ManyToOne(targetEntity="AdminBundle\Entity\ParamReference")
     * @ORM\JoinColumn(name="ref_id", referencedColumnName="id")
     */
    private $reference;

    /**
     * @var ParamDictionary
     *
     * @ORM\ManyToOne(targetEntity="AdminBundle\Entity\ParamDictionary")
     * @ORM\JoinColumn(name="dictionary_id", referencedColumnName="id")
     */
    private $dictionary;

参数参考

/**
 * ParamReference
 *
 * @ORM\Table(name="param_reference")
 * @ORM\Entity(repositoryClass="AdminBundle\Repository\ParamReferenceRepository")
 */

class ParamReference
{


    /**
     * @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=45)
     */
    private $name;


    /**
     * @var string
     *
     * @ORM\Column(name="description", type="text", nullable=true)
     */
    private $description;

参数值

/**
* ParamValue
 *
 * @ORM\Table(name="param_value")
 * @ORM\Entity(repositoryClass="AdminBundle\Repository\ParamValueRepository")
 */
class ParamValue

{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="value", type="decimal", precision=16, scale=8)
     */
    private $value;

    /**
     * @var Meas
     *
     * @ORM\ManyToOne(targetEntity="AdminBundle\Entity\Meas")
     * @ORM\JoinColumn(name="meas_id", referencedColumnName="id", onDelete="CASCADE")
     */
    private $meas;

    /**
     * @var ParamName
     *
     * @ORM\ManyToOne(targetEntity="AdminBundle\Entity\ParamReference")
     * @ORM\JoinColumn(name="ref_id", referencedColumnName="id")
     */
    private $reference;

地理定位数据点

/**
 * Meas
 *
 * @ORM\Table(name="meas")
 * @ORM\Entity(repositoryClass="AdminBundle\Repository\MeasRepository")
 */

class Meas
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="date_time", type="datetime")
     */
    private $date_time;

    /**
     * @var string
     *
     * @ORM\Column(name="latitude", type="decimal", precision=16, scale=8)
     */
    private $latitude;

    /**
     * @var string
     *
     * @ORM\Column(name="longitude", type="decimal", precision=16, scale=8)
     */
    private $longitude;

0 个答案:

没有答案