何もする必要はありません。それはあなたのためにそれを処理します。 let's have a look at that trait
public static function bootSyncsWithFirebase()
{
static::created(function ($model) {
$model->saveToFirebase('set');
});
static::updated(function ($model) {
$model->saveToFirebase('update');
});
static::deleted(function ($model) {
$model->saveToFirebase('delete');
});
}
OK。それで、それは自分自身をcreate/update/delete
イベントに結びつけます。残りの機能は何をしていますか?
protected function saveToFirebase($mode)
{
if (is_null($this->firebaseClient)) {
$this->firebaseClient = new FirebaseLib(config('services.firebase.database_url'), config('services.firebase.secret'));
}
$path = $this->getTable() . '/' . $this->getKey();
if ($mode === 'set' && $fresh = $this->fresh()) {
$this->firebaseClient->set($path, $fresh->toArray());
} elseif ($mode === 'update' && $fresh = $this->fresh()) {
$this->firebaseClient->update($path, $fresh->toArray());
} elseif ($mode === 'delete') {
$this->firebaseClient->delete($path);
}
}
あります。 Eloquent/FQBで削除が発生すると、Firebaseですでに削除されています。
Eloquentを使用して削除/ udpatesを実行していないことが原因で、イベントが受信されない可能性があります。
'App \ EventCal :: where(' id '、20) - > delete();'私が削除に使用したクエリです。これはmysqlからのみ削除されます。しかし、火災基地からではありません。だからfirebaseから削除するクエリは何でしょうか? –