我试图在列表中显示imagealbum的第一张图片。但是在创建查询时,我无法访问foreach循环中的$ album-> getImageuri()方法。
$albums = \ApAlbumQuery::create()
->join('ApAlbum.ApAlbumImage', \Propel\Runtime\ActiveQuery\Criteria::LEFT_JOIN)
->join('ApAlbumImage.ApImage', \Propel\Runtime\ActiveQuery\Criteria::LEFT_JOIN)
->where('ApAlbum.visibility is not null')
->groupBy('ApAlbum.Id')
->orderByStartdate("ASC")
->find();
foreach($albums as $album)
{
echo $album->getImageuri(); // not working?
}
当运行使用Propel创建的sql-query时,> toString()方法一切都存在。
有人知道我做错了吗?
答案 0 :(得分:0)
尝试使用ImageURI
添加->withColumn()
列:
$albums = \ApAlbumQuery::create()
->join('ApAlbum.ApAlbumImage', \Propel\Runtime\ActiveQuery\Criteria::LEFT_JOIN)
->join('ApAlbumImage.ApImage', \Propel\Runtime\ActiveQuery\Criteria::LEFT_JOIN)
->withColumn('ApAlbumImage.ApImage.ImageURI')
->where('ApAlbum.visibility is not null')
->groupBy('ApAlbum.Id')
->orderByStartdate("ASC")
->find();
foreach($albums as $album)
{
echo $album->getImageuri(); // not working?
}
根据您的->join()
语法,我假设您使用的是不同的架构