行の参照配列を格納するにはどうすればよいですか?たとえば、オンライントレーディングカードゲームを作ろうとすれば、私はすべてのカードを持つテーブルを持ち、各プレイヤーはIDリファレンスのリストで表されるデッキを持っています。MySQL - 各行に参照配列を格納
答えて
私はフィールドとしてcard_owner_id
とcard_id
を使って、別の関係テーブルを作成します。それに応じて外部キーを設定すると、カードまたはユーザーが削除されたときに関係が自動的に削除されます。
だから、私は 'SELECT * FROM cards WHERE card_id =(SELECT card_id FROM user_cards WHERE card_owner_id = $ user_id)'のようなものを使ってユーザーのカードを手に入れたいのですか? – nkorth
あなたはそれらを得るために結合を使うことができます: 'SELECT c。* FROM cards AS C LEFT JOIN user_cards AS uc ON(uc.card_id = c.idとuc.card_owner_id = $ user_id)'。 – Kaivosukeltaja
プレイヤー用に1枚、カード用に1枚、デッキ用に1枚(playerIdとcardIdをリンクする)はどうですか?
2種類の溶液:
- あなたのPHPの配列をシリアル化し、あなたのテーブルのバイナリフィールドに格納します。
- このような関係を表現できるようにデータベースを設計します。「プレーヤーには複数のカードがあります。」Player(player_id);カード(card_id、player_id)
各プレイヤーは「選手」テーブルに1つの行がある可能性があります。これらの行のそれぞれは、すべての可能なカードのそれぞれにフィールドを持つことができます。それらのセルのそれぞれは、当該カードを所有しているか所有していないかを示すために、真または偽とマークされてもよい。
そうでしょうか?
- ピート
SOの投稿には署名しないでください。 –
私は固定デッキサイズを持っていると思って、その多くのフィールドをユーザーテーブルに持っていると思っていましたが、それは本当に非効率なようでした。 – nkorth
- 1. Laravelに参照配列を格納
- 2. 参照値を配列に格納する
- 3. 配列内のオブジェクトメソッドへの参照を格納する(Objective-C)
- 4. 配列要素への参照を格納する方法は?
- 5. テキストファイルの各行を配列に格納する
- 6. テキストファイルの各行を配列に格納する
- 7. mysqlデータの行/列を配列に格納する方法
- 8. 別のクラスの配列に格納されているクラスインスタンスを参照する
- 9. オブジェクトへの参照を格納する
- 10. ObservableArrayで格納された配列内の情報を参照します。
- 11. php配列をjavascript配列に格納
- 12. sharedpreferencesに配列を格納
- 13. 配列をデータテーブルに格納
- 14. 各robots.txt値を配列に格納する
- 15. 各ループのリストに多くの配列を格納する
- 16. DOM要素への参照の格納
- 17. MySQLテーブルのディレクトリに格納されているイメージを参照するには?
- 18. ABRecordRefの配列を格納
- 19. 1つのmysqlエントリに配列/リストを格納する
- 20. mysqlデータベースから値を取得し、PHPの配列に格納
- 21. MySQLデータベースに配列値を格納する方法
- 22. mysqlのクエリ結果を配列に格納する
- 23. php/mysqlに在庫の配列を格納する方法は?
- 24. MySQLを配列に格納して取得するPHP
- 25. 2つのクエリのPHP配列にMySQL結果を格納
- 26. mysql(5.6)データベースにjson配列を格納するデータ型
- 27. Solrに配列を格納する
- 28. mysqlの行をプライベート配列変数に格納する方法は?
- 29. データを読み込んで各列を異なる配列に格納する
- 30. 配列に実行可能な行オプションを格納する
あなたのDBの設計が必要であることを警告、あなたの頭の中でオフに行く必要があり赤信号やクラクソンズを点滅、データベースの単一列の値の配列を格納するように誘惑している任意の時間より正常化されるべきである。 –
@Christopher - あなたは、問題はデータベース設計にあり、実際にリレーショナルデータベースシステムに言語構造を格納しているわけではないことを認識していますか? –
@Mickael、私は信じています。私は質問をあまりにも早く読んで、私の脳は正反対になった。私の悪い。 – Christopher