【Salesforce】動的なSOSLを作成する
Apexで動的なSOQLを使用することはちょくちょくあるのですが、動的なSOSLを見ることって中々ありませんよね。
そもそも、SOSLを利用することがそんなになかったりします。
SOQLと同じようにSOSLも動的に作成できるようなのでメモです。
Searchクラスのqueryメソッドを使うようです。
こんな感じです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | List<List<SObject>> recordList; String query; Date targetDate; // 検索対象の作成日 targetDate = Date.today(); // クエリを作成する query = '' ; query += ' find ' ; query += ' \'検索文字列\' ' ; query += ' IN ALL FIELDS RETURNING ' ; query += ' Account(Id, Name), ' ; query += ' Contact(Id, Name where CreatedDate = :targetDate) ' ; recordList = Search.query(query); |
動的SOQLと同じように、変数を使用することができるそうです。
ロングテキストを検索項目に使いたい場合にどうぞ。
No comments.