如何在Silverstripe 4中使用IN子句编写查询WHERE

问题描述 投票:0回答:1

如何在SilverStripe中编写以下查询以获取特定的列数据。

SELECT Title FROM Devmac_Object_ProductType WHERE ID IN ($strProductListID)
php mysql silverstripe
1个回答
1
投票

假设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上的开发人员文档。

© www.soinside.com 2019 - 2024. All rights reserved.