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