我已经使用Angular创建了一个照片库应用,我想向新用户添加一个新用户,当新用户在该应用上注册时,该用户数组存储在firebase数据库中。我才刚刚开始发出http请求并使用firebase,但我正在努力了解它的工作方式(我已经阅读了firebase文档)。
这是我创建的帖子请求方法:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Traits\HasCompositePrimaryKey;
class SkuValor extends Model
{
use HasCompositePrimaryKey;
protected $primaryKey = array('producto_id', 'sku_id', 'opcion_id');
protected $table = 'valores_skus';
protected $fillable = [
'producto_id',
'sku_id',
'opcion_id',
'valor_id',
];
public function producto(){
return $this->belongsTo('App\Models\Producto', 'producto_id');
}
public function opcion(){
return $this->belongsTo('App\Models\OpcionProducto', 'opcion_id', 'opcion_id');
}
public function sku(){
return $this->belongsTo('App\Models\ProductoSku', 'sku_id', 'sku_id');
}
}
在这里调用该方法:
addUser(email: string, name: string) {
return this.http.post('https://photo-gallery-dd8b6.firebaseio.com/users.json', {
email: email,
name: name
}).subscribe(response => {
console.log(response);
})
}
从Angular表单中检索值。
我遇到的问题是,当用户将其添加到firebase数据库中时,它会将它们存储为带有由firebase自动生成的奇怪密钥的嵌套对象:
我想我要实现的目标是存在一个用户对象数组,其中对象名称是用户的电子邮件地址,而该对象的属性是用户的名称。
解决此问题的最佳方法是在本地初始化用户数组,然后在应用程序初始化和添加新用户时使用put请求将users数组保存到数据库中吗?希望这对某人有意义!
答案 0 :(得分:0)
您可以这样做:
save(file = "not-meh.RData", list = ls()[grepl("^(?!meh)", ls(), perl=TRUE)])
注意:
addUser(email: string, name: string) {
const data = {
[email]: {email,name}
};
return this.http.put('https://photo-gallery-dd8b6.firebaseio.com/users.json',
data).subscribe(response => {console.log(response);})
}
,而不是PUT
POST
方法。