【发布时间】:2011-02-02 20:10:25
【问题描述】:
我有两个表,内容和图像(还有一个用于一对多关系的 ContentImages 表,所以实际上是 3 个表)。
以下代码保存关系(在操作> updateContentFromRequest() 中):
$ids = $this->getRequestParameter('contentImages');
if( isset($ids) ){
$ImagesTable = Doctrine::getTable('Content')->getRelation('Images')->getTable();
$associationName = Doctrine::getTable('Content')->getRelation('Images')->getAssociationTable()->getOption('name');
$this->content->$associationName->delete();
foreach ($ids as $id){
$id = explode('/', $id);
$this->content->get('Images')->add($ImagesTable->find($id));
}}
我更改了模型以在 ContentImages 表中包含一个排序字段:
content_id
image_id
sort (numeric)
排序号就是一个数字(0、1、2、3等)
$sort = $this->getRequestParameter('contentImagesSort');
如何保存排序号?我不想在图像表中添加排序字段,因为当图像在更多内容项中重复使用时,这可能会造成困难。当内容项是新的时,我还不知道 ID,所以我有点难过......
【问题讨论】:
标签: doctrine database-relations