You need to sign in to do that
Don't have an account?
h_r
SOQLで読み取り専用で取得
権限制御とSOQLに関して質問します。
①オブジェクトが2つある
OBJA=参照
OBJB=参照・登録・更新・削除
②OBJBにはOBJAへの主従関係がある
で指定している場合に、
OBJBのトリガーで、Trigger.New(n).Relation__r.OBJA.Text__c;
と取得すると値が取得できません。
ですので、代替策として、
String tx = [Select Text__c From OBJA Where OBJA.Id = :Trigger.New(n).Relation__c];
のような形での取得を試みたのですが、
上記形式で取得するとOBJAの編集権限が必要になってしまいます。
ですので、SOQLの発行時に、読み取り専用で取得する方法があればお教えください。
以上、よろしくお願いします。
>OBJBのトリガーで、Trigger.New(n).Relation__r.OBJA.Text__c;
>と取得すると値が取得できません。
トリガのタイミングなのですが、before insertやbefore updateで値を取得していませんか?
このタイミングでは主従・参照項目はまだ紐付いていない状態です。
after insertやafter updateで試してみてください
T.Aizawaさん
ご回答ありがとうございます。
確かに、beforeで取得しています。
ただ、使用処理が登録前チェック処理となっており、
afterではタイミングが遅くなってしまいます。
現在、Relation__r.OBJA_Text__cを取得する数式を作成し、
そちらを参照することで対応しています。
もしもっとシンプルに取得できる方法があればご教授ください。
以上、よろしくお願いいたします。