我正在使用传输,并且文章和视频之间存在多对多关系。我需要做的是在将每个视频添加到文章时为其添加时间戳。即我有两张桌子:
- 文章(ID、标题、正文)
- 视频(ID,网址)
然后我有一个链接表:
- article_videos(articleID, videoID)
我需要在 article_videos 中添加一个额外的列 timeStamp:
- article_videos(articleID, videoID, timeStamp)
我遇到的问题是,当我尝试在链接表中创建一个额外的属性时,它不起作用。
我的转移 ORM 配置:
<package name="article">
<object name="Article" table="article">
<id name="ID" type="numeric"/>
<property name="Title" type="string" column="title"/>
<property name="Body" type="string" column="body"/>
<manytomany name="Videos" table="article_videos">
<link to="article.Atricle" column="articleID"/>
<link to="assets.Video" column="videoID"/>
<collection type="array">
<order property="OrderIndex" order="asc"/>
</collection>
<property name="TimeStamp" type="timestamp" column="timeStamp"/>
</manytomany>
</object>
</package>
<package name="assets">
<object name="Video" table="video">
<id name="ID" type="numeric"/>
<property name="url" type="string" column="url"/>
</object>
</package>
问题是 ManyToMany 中的新属性是不允许的,它会抛出一个错误,指出 Transfer 配置格式错误。
我应该在哪里以及如何添加时间戳,因为该视频可能在多篇文章中使用,因此该文章中的视频需要时间戳?
提前致谢。