0

私は、テーブル「トークン」を持っている'User'が複数'Token'を持つことができ、かつ'Token'だけ'User'を1Xに属することができ、私はこの関係のためにhasMany() & belongsTo()を使用することができますが、アンドロイド&のiOS、トークン列から毎回ユーザーのログアウトレコードが削除され、ユーザーのログイン時に新しいトークンレコードがテーブルに追加されるため、増分プライマリキーが消費されて無駄になるため、代わりにプライマリキーを削除しLaravel Query Builderを使用する必要がありますか? Laravel Eloquentは主キーなしで正しく機能しないので、Laravelプッシュ通知トークン:EloquentまたはQuery Builderを使用しますか?

+0

にトークン値を更新した場合(更新)

  • をゼロにするためにトークンを設定ログアウトをした場合には、除去する必要がありますテーブルからレコード?それ以外の場合は、ログアウト時にトークンをnullに設定し、ログイン時に更新し、まだ存在しない場合はトークンレコードを作成することができます。もっとシンプルに思える。 –

  • +0

    複数のnullレコードがあるとどうなりますか?だから、 'User'がアンドロイドGCMのために3種類のトークンを持っていて、2倍でログアウトすれば、2つのレコードをNULLにする必要がありますか?後で同じユーザーが再びログインすると、NULLレコードの1つが更新され、NULLレコードが見つからない場合は新しいレコードが作成されます。 – yeln

    +0

    私は、トークンタイプ(トークンタイプ?)が1つしかないと言います。トークンにバインドされているレコードを更新し、それがどのような種類のトークンであるかを条件として更新します。あなたは多分ENUMを使うことができるタイプのために、私は状況がどのくらい複雑か分かりません。私は今なぜユーザーが1つ以上のトークンを持つことができないのか分かりません。 –

    答えて

    0

    これは、使用できるソリューションの1つである可能性があります。 |


    トークン表

    ID:

    トークン表は次のようになり作りますuser_id |デバイス|トークン


    デバイスには、参照しているデバイスの一意の値を格納できます。トークンテーブルに関する

    いくつかのこと:

    • 1は、現在のデバイスにまだ存在しない場合は、新しいトークンレコードを挿入します。 (設定トークン)
    • 、ユーザが独自のデバイスは、ユーザのログインが再びヌルからのトークン値
    +0

    私は3つのアンドロイドデバイスを使用してログインし、後で2からログアウトした場合、2xレコードはNULLに設定されるため、次回は同じユーザーログイン時にtoken = NULLのレコードが最初に存在するかどうかを調べる必要があります、もしそうなら、私はUPDATEします、そうでなければ新しいレコード行を作成しますか? – yeln

    +0

    @yelnあなたは今それを持っていると思います。 token!= nullのすべてのログオンユーザーに送信できる通知。 –

    +0

    @yelnこれがあなたの問題の解決策であれば、答えを受け入れることができますか? –

    関連する問題