如何从两个表中获取firebase中的所有子数据

时间:2017-07-30 04:26:31

标签: javascript firebase firebase-realtime-database

我正在尝试从数据库中的两个表中检索数据。但是对于孩子来说,它无法正常工作

我有这个:

offers{
  "id" : {
    "quantity": "50%"
    "store" : {
      "id" : true
    }
}
"store":{
   "id":{
     address:"location"
     "users":{
        "id": true
     }
   }
}
"users" : {
  "name": "tom",
  "lastname": "levine"
}

这是我的结构化数据我希望从我的表中获取所有子数据:

{
  "quantity":"50%",
  "store":{
    address:"location",
     "users":{
        "name": "tom",
        "lastname": "levine"
      }
    }
  }
}

我有这个

const db = firebase.database();
db.ref('offers').child(id).once('value', (data) =>{
  console.log(data.val())
}

但如果我添加另一个.child(商店),那么只需返回该商品的商店ID

我有商品ID,我想要的商店ID以及所有用户,例如名称为tom。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您应该为数据库使用不同的结构。如果您存储想要检索数据的数据,NoSQL的性能会更高。

但你可以用这样的东西做你想做的事:

(这只是一个例子,您可能需要更新并修复此代码)

$email_to = "emailid@gmail.com";
$message = '';
$message .= 'Name:'.$_POST['name'];
$message .= 'Email'.$_POST['email'];
$message .= 'Phone'.$_POST['phone'];
$message .= 'Message'.$_POST['message'];
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
$mail->smtp_username = $this->config->get('config_mail_smtp_username');
$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
$mail->smtp_port = $this->config->get('config_mail_smtp_port');
$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');
$mail->setTo($email_to);
$mail->setFrom("emailid@gmail.com");
$mail->setSender("emailid@gmail.com");
$mail->setSubject("Contact");
$mail->setText($message);

$mail->send();
print_r($mail);
if(!$mail->send()){
echo "failed";
}else{
echo "success";
}
相关问题