首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2和Doctrine2产品和图像映射对于管理来说效率不高

Symfony2和Doctrine2产品和图像映射对于管理来说效率不高
EN

Stack Overflow用户
提问于 2012-01-14 14:30:43
回答 1查看 800关注 0票数 2

在我的Symfony2应用程序中,我应该有一个产品,它应该有多个图像,但只有一个应该是主图像,它将在一个页面上标识20个或更多的产品。当用户打开特定产品时,将显示其余图像,并显示有关该产品的所有产品详细信息,包括其余图像。基本上大多数产品站点是如何工作的。

我将其映射为:

代码语言:javascript
复制
/**
 * @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();
    }
}

产品图片实体:

代码语言:javascript
复制
/**
 * @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表中所有行的多项选择。如何创建一个系统,在该系统中,我可以只从项目创建表单本身上传图像,而不从包含数千个图像的多选表单元素中选择要与项目映射的图像。

我还附上了一张我试图解释的图片。目前只有2张图片,但它们将在仅有的几百个产品中成为数千张。

我希望我已经成功地解释了问题所在。这让我很困惑。请帮我弄一下这个。

此外,多个选择元素显示ids,我希望它们是标题。你知道我怎么也能做到吗?

谢谢!我很感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2012-01-15 01:05:46

您应该添加一个直接引用图像表的mainImage属性,而不是现在使用的布尔标志。

您可以通过为表单类型提供'property' => 'title'选项来指定要显示的每个图像的标题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8860609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档