如何在SilverStripe中编写以下查询以获取特定的列数据。
SELECT Title FROM Devmac_Object_ProductType WHERE ID IN ($strProductListID)
假设Devmac_Object_ProductType
是代表Devmac\Object\ProductType
数据对象的表,并且$strProductListID
是ID的平面数组:
use Devmac\Object\ProductType;
$strProductListID = [1,2,7];
$filteredProductTitles = ProductType::get()->filter('ID', $strProductListID)->column('Title');
您还可以使用map('ID', 'Title')
获取ID到标题的映射:
$filteredProductTitles = ProductType::get()->filter('ID', $strProductListID)->map('ID', 'Title');
这将返回一个Map
,可以使用->toArray()
将其转换为关联数组。
请参阅Managing Lists上的开发人员文档。