Вычисляемое/виртуальное поле в объекте Symfony – как это сделать?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Вычисляемое/виртуальное поле в объекте Symfony – как это сделать?

Сообщение Гость »


У меня есть первая сущность под названием «Места», которая отображает данные о местах, такие как название места, широту и долготу. Другая сущность, называемая «пользователи», хранит данные пользователя, такие как имя пользователя, текущая широта пользователя, текущая долгота пользователя.

Я хочу добавить виртуальное поле для объекта «Места», которое рассчитывает расстояние между географическими точками.

Я использую эту функцию –

класс Места{ /** * @var целое число * * @ORM\Column(name="id", type="integer") * @ORM\Идентификатор * @ORM\GeneratedValue(strategy="АВТО") */ частный $id; /** * @var строка * @ORM\Column(name="name", type="string", length=255) * @Assert\NotBlank() * @Разоблачать */ личное $имя; /** * @var строка * @ORM\Column(name="description", type="string", length=255, nullable=true) * @Разоблачать */ личное $описание; /** * @var float * @ORM\Column(name="lon", type="float", nullable=true) * @Разоблачать */ частный $lon; /** * @var float * @ORM\Column(name="lat", type="float", nullable=true) * @Разоблачать */ частный $лат; /** * @var целое число * @ORM\ManyToOne(targetEntity="Страны") * @ORM\JoinColumn(name="country", referencedColumnName="id", onDelete="SET NULL") * @Assert\NotBlank() * @Разоблачать */ частная $страна; /** * @var строка * @VirtualProperty * @Type("строка") * @SerializedName("расстояние") * @return строка */ расстояние публичной функции(){ $longitude1 = '34.7722';//$user->getLon();(?) $latitude1 = '32.0114';//$user->getLat();(?) $longitude2 = $this->getLon(); $latitude2 = $this->getLat(); $theta = $longitude1 - $longitude2; $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)) ); $ миль = acos ($ миль); $ миль = rad2deg ($ миль); $миль = $миль * 60 * 1,1515; $километров = $миль * 1,609344; //возвратный раунд($километров); вернуть $this->user->getLastName(); } } но, как вы можете видеть, lon1/lat1 жестко закодированы, потому что я не могу получить пользователя lan/lat из объекта Places.

Как это сделать?

Спасибо.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SQLModel с FastAPI: редактируемое вычисляемое поле
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • SQLModel с FastAPI: редактируемое вычисляемое поле
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Fetch() с объектом json, распечатать ключ в объекте в массиве в объекте [закрыто]
    Гость » » в форуме Javascript
    0 Ответы
    105 Просмотры
    Последнее сообщение Гость
  • У меня проблемы с иерархией объектов. В частности, массив в объекте, который используется в другом объекте.
    Anonymous » » в форуме C#
    0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous
  • Как сделать поле уникальным в объекте направляющей
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»