Как пройти SQL-запрос с.по названию - Javascript / Node.JS - Alexa App - PullRequest
0 голосов
/ 10 мая 2019

Добрый день,

Я пытаюсь, чтобы Alexa произнесла результаты запроса SQOL, но я получаю сообщение об ошибке каждый раз, когда пытаюсь включить owner.name в вывод.

this.t("CASEINFO",resp.records[0]._fields.casenumber, resp.records[0]._fields.subject,resp.records[0]._fields.priority,resp.records[0]._fields.owner.name);

. Я считаю, что это потому, что у него есть "." в названии, но я не уверен, как избежать периода, чтобы он читал его правильно.

Заметьте, если я не добавлю "resp.records[0]._fields.owner.name" в скрипт, все работает без проблем. Я знаю, это причина ошибки.

Это то, что я пробовал ...

1) this.t("CASEINFO",resp.records[0]._fields.casenumber, resp.records[0]._fields.subject,resp.records[0]._fields.priority,resp.records[0]._fields.[owner.name]);

2) this.t("CASEINFO",resp.records[0]._fields.casenumber, resp.records[0]._fields.subject,resp.records[0]._fields.priority,resp.records[0]._fields.owner//.name);

3) помещение в var (var casenumber = owner.name) и затем использование casenumber в запросе.

Буду признателен за любую помощь.

'CaseInformation': function () {
 console.log("CaseInformation function");
 if (preFunctions.call(this)) {
   //const OwnerName = getSlotValue(this.event.request.intent.slots.caseowner_name.value);
   var CaseInfo = this.event.request.intent.slots.case_info.value;
   console.log(`CaseInfo: ${CaseInfo}`);
   const accessToken = this.event.session.user.accessToken;
   sf.query("select casenumber,subject, owner.name, status, priority, account.name, lastmodifieddate from case where casenumber='" + CaseInfo + "'", accessToken, (err, resp) => {
 if (resp.records!="") {
       if (resp.records) {
         const output = this.t("CASEINFO",resp.records[0]._fields.casenumber, resp.records[0]._fields.subject,resp.records[0]._fields.priority,resp.records[0]._fields.owner.name);
         this.emit(":ask", output, this.t("PROMPT")); ```

1 Ответ

0 голосов
/ 10 мая 2019

Обозначение в квадратных скобках:

this.t("CASEINFO",resp.records[0]._fields.casenumber, resp.records[0]._fields.subject,resp.records[0]._fields.priority,resp.records[0]._fields["owner.name"]);
...