FCM (Firebase Cloud Messaging) 通知を Laravel プロジェクトに統合しました。
User
モデルにメソッド routeNotificationForFcm
を追加しました。
通知システムは、メソッド内で Firebase デバイス トークンを直接指定すると正常に動作しますが、データベースからトークンにアクセスすると失敗します。
追加された作業コードは次のとおりです。
リーリー動作しないコードは次のとおりです(データベースクエリ)
リーリー表示されるエラー メッセージは次のとおりです。登録トークンは有効な FCM 登録トークンではありません
P粉3015232982023-12-14 14:09:21
Laravel ドキュメントによると pluck< code> return Collection - したがって、クエリで
pluck を呼び出した後に
を呼び出すだけで済みます。 /collection toArray() は、モック トークンで前に行ったのと同じように、
array を返します。
リーリー
$user->id も呼び出しましたが、このスコープ内ではありません。
解決策は簡単です。値を渡すか、
$this から値を取得する必要があります。
リーリー
- モデルにどのように名前を付けたかを推測してください。
これを次のように再利用して、特定の User
モデルに関連するトークンの array
を返すことができます。
リーリー
最後に、コードをこのように構造化すると、一般的な関係が得られ、この関係を使用してコードをより柔軟にすることができます。