php - 使用 SOQL 选择 Salesforce 对象的所有字段

标签 php salesforce soql

我想做一些可以在 SQL 中完成的事情:

select * from table

如何使用 SOQL 实现这一点?

我将无法使用 Apex 代码,因为我从 PHP 页面运行 SOQL 查询。

最佳答案

默认 SOQL 不支持以这种方式选择所有字段:
SELECT * 来自 sObject

在下面检查接受对象名称的通用类,并基于它给出一个 SOQL 查询,以将所有字段选择为字符串。

顶点类:

public inherited sharing class GenerateDynamicSOQLQuery {

    public static string getSOQLQuery(String strObjectName) {
        if(!String.isBlank(strObjectName)) {
            String strQuery = 'SELECT ';
            list<Schema.DescribeSObjectResult> objDiscribe = Schema.describeSObjects(new List<String>{strObjectName});
            map<String, Schema.SObjectField> objFileds = objDiscribe[0].fields.getMap();
            list<String> lstOfFieldNames = new list<String>(objFileds.keySet());
            strQuery = strQuery + String.join(lstOfFieldNames, ', ') + ' FROM ' +strObjectName;
            return strQuery;
        }
        else {
            return null;
        }
    }
}

演示:要获取生成的查询的输出,请打开“执行匿名”窗口,然后执行以下代码:

String strQuery = GenerateDynamicSOQLQuery.getSOQLQuery('Account');
//strQuery += ' WHERE Industry = \'Banking\' LIMIT 1';
strQuery += ' LIMIT 1';
System.debug('Account Records ====>  '+Database.query(strQuery));

查询结果将在调试日志中。

关于php - 使用 SOQL 选择 Salesforce 对象的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24326388/

相关文章:

php - PHP 中基于模块的系统 - 如何?

php - 将字符串格式的 CSV 值内部连接到 PHP 中的 MySQL 表

php - while 循环不打印第一个表单迭代,而是打印其他第一个内容?

php - Symfony 2,MongoDB + a2lix/translation-form-b​​undle

salesforce - 在一个查询中检索 Contact.Email、Opportunity.Name 和 OpportunityLineItem.Quantity

salesforce - SOQL 查询 WHERE 日期 = 30_days_ago?

java - Apex 可调度类 : SendEmail failed INVALID_SA​VE_AS_ACTI​VITY_FLAG saveAsActi​vity must be false

java - Salesforce 批量 api 使用 java 从列表中创建和更新 1000 条记录

python - simple-salesforce 无法识别自定义对象

salesforce - 带子查询的SOQL查询