Получить ассоциацию OneTomany от многих иуновPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Получить ассоциацию OneTomany от многих иунов

Сообщение Anonymous »

Я новичок в фреймворках и Symfony, и я пытаюсь выучить некоторые основы. Это обратно - это многотононическая ассоциация из сущности под названием «Описание». Я пытаюсь получить описание, чтобы показать в моем файле Twig от моего контроллера продукта.

Код: Выделить всё

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* Product
*
* @ORM\Table(name="products")
* @ORM\Entity(repositoryClass="Pas\ShopTestBundle\Entity\ProductRepository")
*/
class Product
{
/**
* @var ArrayCollection
*
* @ORM\OneToMany(targetEntity="Description", mappedBy="product")
*/
private $descriptions;

// MORE CODE BELOW....

/**
* Creates Constructor for ArrayCollection
*/
public function __construct()
{
$this->descriptions = new ArrayCollection();
}

MORE CODE...
/**
* Add descriptions
*
* @param \Pas\ShopTestBundle\Entity\Description $descriptions
* @return Product
*/
public function addDescription(\Pas\ShopTestBundle\Entity\Description $descriptions)
{
$this->descriptions[] = $descriptions;

return $this;
}

/**
* Remove descriptions
*
* @param \Pas\ShopTestBundle\Entity\Description $descriptions
*/
public function removeDescription(\Pas\ShopTestBundle\Entity\Description $descriptions)
{
$this->descriptions->removeElement($descriptions);
}

/**
* Get descriptions
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getDescriptions()
{
return $this->descriptions;
}

/**
* Converts Product Name to a Viewable String
* @return String
*/
public function __toString()
{
return $this->getName();

return $this->getDescriptions();
}
}
< /code>
Я пытаюсь заставить описание появиться в моем «Showaction», который маршрут, чтобы показать.html.twig. В этой функции у меня есть: < /p>
 /**
* Finds and displays a Product entity.
*
* @Route("/{id}", name="product_show")
* @Method("GET")
* @Template()
*/
public function showAction($id)
{
$em = $this->getDoctrine()->getManager();

$entity = $em->getRepository('PasShopTestBundle:Product')->find($id);

// $descriptionInfo = $em->getRepository('PasShopTestBundle:Description')
//     ->find($id)
//     ->getProductDesciption();

//get description to appear on show page

if (!$entity) {
throw $this->createNotFoundException('Unable to find Product entity.');
} else {
$productInfo = $entity->getDescriptions();
}

$deleteForm = $this->createDeleteForm($id);

return array(
'entity'      => $entity,
'delete_form' => $deleteForm->createView(),
);
}
< /code>
Как вы можете видеть, я попробовал несколько вещей, однако я не уверен, что это правильно.
Description
{% for description in descriptions %}
{{ entity.description }}
{% endfor %}
{# --------- Need Description Show.html.twig to go to above ------------------ #}

Как он сейчас стоит, если я перейду к своему маршруту «Showaction». 22 ...) < /p>
< /blockquote>
В Entity и его контроллере все работает. Я могу ввести описание с идентификатором, соответствующим идентификатору от объекта/контроллера продукта. Всего я хочу, чтобы описание, которое я вхожу, появился в продукте. (Я надеюсь, что это имеет смысл) < /p>
Описание объект: < /p>
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collection\ArrayCollection;

/**
* Description
*
* @ORM\Table(name="descriptions")
* @ORM\Entity(repositoryClass="Pas\ShopTestBundle\Entity\DescriptionRepository")
*/
class Description
{

/**
* @var Product
*
* @ORM\ManyToOne(targetEntity="Product", inversedBy="descriptions")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
*/
private $product;
< /code>
Я уверен, что я близок, но я не могу понять это. Любая помощь ценится

Подробнее здесь: https://stackoverflow.com/questions/353 ... -manytoone
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как настроить Envers с помощью @OneToMany и @EmbeddedId на стороне многих
    Гость » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Гость
  • Поиск определенного значения в определенном поле, во многих файлах CSV, во многих сегментах, в трех проектах в GCS с исп
    Anonymous » » в форуме Python
    0 Ответы
    53 Просмотры
    Последнее сообщение Anonymous
  • От одного из многих и многих, используя проблему с картстрактом
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как зарегистрировать ассоциацию нового типа файла с MP3
    Anonymous » » в форуме Android
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Я не могу создать ассоциацию в базе данных [закрыто]
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

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