ロールテーブルとuser_roles中間テーブルを使用して、独自に開発したユーザー/ロール機能があります。 user_rolesテーブルには、いくつかの追加データもあります。デタッチ後にピボットモデルが正しく接続されない
ユーザーは現在、自分に1つの役割が割り当てられており、このユーザーに2つ以上の役割を割り当てる必要があるとします。ほとんどの場合、私はすべてのピボットエンタープライズをユーザー用に切り離し、3つの役割をすべてもう一度追加します。これは物事を簡素化し、私は重複enteriesのjsonデータをチェックする必要はありません。このようなもの。
$user->roles()->detach();
これは正常に動作し、すべてのユーザーピボットエントリは削除されます。しかし、3つの役割をすべてユーザーに再度アタッチすると、新しい役割だけが追加されます。これは本当に奇妙で、数時間デバッグしようとしています。
私は3つの役割を全てループしています。ループが実際にこのデータを正しく受信していることを確認しました。
$apps = json_encode(array('app1','app2'));
$user->roles()->attach($roleId, ['apps' => $apps]);
私は、私も別のプロジェクトに以前の非常に同様の問題に直面したことを覚えていますが、解決策を覚えていけません。どんな援助も訴えられるでしょう。
着脱する代わりに、同期してみましたか?これで問題が解決するかどうかはわかりませんが、間違いなく知っておくと便利です。 – Karl
おかげでカール。私はなぜコードを使用して私のケースでは少し複雑な同期を使用しているように答えたコメントをしています。 –