从 Joined 表中推进数据不可用
Propel data from Joined tables not available
我正在尝试在列表中显示相册的第一张图片。但是在创建查询时,我无法访问 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 ->toString() 方法创建的 sql 查询时,一切都存在。
有人知道我做错了什么吗?
尝试使用 ->withColumn()
添加 ImageURI
列:
$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()
语法,我假设您使用的是不同的模式
我正在尝试在列表中显示相册的第一张图片。但是在创建查询时,我无法访问 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 ->toString() 方法创建的 sql 查询时,一切都存在。
有人知道我做错了什么吗?
尝试使用 ->withColumn()
添加 ImageURI
列:
$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()
语法,我假设您使用的是不同的模式