【问题标题】:How to write query WHERE with IN Clause in Silverstripe 4如何在 Silverstripe 4 中使用 IN 子句编写查询 WHERE
【发布时间】:2020-05-19 09:21:39
【问题描述】:

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

SELECT Title FROM Devmac_Object_ProductType WHERE ID IN ($strProductListID)

【问题讨论】:

    标签: php mysql silverstripe


    【解决方案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 上的开发者文档。

    【讨论】:

    猜你喜欢
    • 2018-09-28
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 2011-10-30
    • 2020-10-13
    • 1970-01-01
    相关资源
    最近更新 更多