2
在我的Symfony2應用程序中,我應該有一個產品應該有多個圖像,但只有一個應該是主要圖像,它將識別產品之間20或某些產品頁。其他圖像將在用戶打開特定產品時顯示,並且所有關於該產品的產品詳細信息都會顯示,其中包括其餘圖像。基本上大多數產品網站的工作原理。Symfony2和Doctrine2產品和圖像映射效率不高管理
我制訂它:
/**
* @ORM\Entity()
* @ORM\Table(name="product")
* @ORM\HasLifecycleCallbacks()
*/
class Product
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $title;
/**
* @ORM\ManyToMany(targetEntity="Productimage")
* @ORM\JoinTable(name="productimage_map",
* joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="image_id", referencedColumnName="id")}
* )
*/
protected $images;
public function __construct()
{
$this->images = new \Doctrine\Common\Collections\ArrayCollection();
}
}
產品圖片實體:
/**
* @ORM\Entity(repositoryClass="Webmuch\ShopBundle\Repository\ProductimageRepository")
* @ORM\Table(name="productimage")
* @ORM\HasLifecycleCallbacks()
*/
class Productimage
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=255)
*/
protected $imagePath;
/**
* @ORM\Column(type="datetime")
*/
protected $created;
/**
* @ORM\Column(type="boolean")
*/
protected $mainImage;
}
好嗎工作,但是當我創建一個表單,用於創建一個新的項目它顯示了一個多用的所有選擇Itemimage表的行。我該如何製作一個系統,我可以從項目創建表單本身上傳圖像,而不是選擇要從包含1000個圖像的多選表單元素中的項目進行映射的圖像。
我還附上了我想要解釋的圖片。目前只有2張圖片,但只有幾百種產品會成千上萬張圖片。
我希望我已經設法解釋了問題所在。這對我來說非常混亂。請幫我解決一下這個。
此外,多個選擇元素顯示id,我希望他們是標題。任何想法我怎麼能做到這一點?
謝謝!我感謝所有的幫助。
非常感謝您的回覆。 mainImage布爾值只是爲了找出在其他頁面上使用哪個圖像來識別產品。例如:在相關項目中,在主頁上,在類別頁面上等。另外,如何將多個圖像添加到一個產品而無需通過該多個選擇表單元素。我想簡單地添加一個項目與多個圖像。首先項目這個複雜。再次感謝。 – Aayush 2012-01-14 20:40:37