我有一个名为sort_order的列的相对表。当我从关联表中检索值时,我希望它们按此列排序而不是id。
indexSuccess:
<?php foreach ($videos as $video): ?>
<?php $videoAssets = $video->getVideoHubAssets(); ?>
...
我想做点什么
<?php $videoAssets = $video->getVideoHubAssets()->orderBy("sort_order ASC"); ?>
但这不正确。我是否必须先采取行动?
操作
$this->videos = Doctrine::getTable('videosHub')->getAllVideos();
tableClass
public function getAllVideos(){
return $this->createQuery()->setPublishStatus()->orderBy('featured DESC, title')->execute();
}
操作查询从一个与资产表有关系的单独表中提取。这样做的正确方法是什么?
答案 0 :(得分:3)
您可以为视频类创建新方法。
例如:
<强> indexSuccess:强>
<?php foreach ($videos as $video): ?>
<?php $videoAssets = $video->getOrderedVideoHubAssets(); ?>
...
<强>类强>
public function getOrderedVideoHubAssets(){
return Doctrine_Core::getTable('VideoHubAsset')->createQuery('a')
->leftJoin('a.Video v')
->where('a.video_id = ?', $this->getId())
->orderBy('a.sort_order ASC')
->execute();
}