データベースの同じ値ごとのレコード件数をcustum stateに保持したい。

いつもお世話になっております。

◆実装したい機能

データベースの同じ値ごとのレコード件数(※1)をcustum stateに保持したいです。
ただし、レコード件数なのでユニーク値とは限りません。

※1…具体的には、データベース「food_data」の項目「food_type」
(和食・洋食・中華の3種類)ごとの各件数。
	 (添付ファイルをご参照ください)

◆発生している問題

custum stateにplus itemで保持しようとしたのですが、

同じ値を格納することはできないことがわかりました。
(この場合「1」が2回出現)
ダミー値を付与して、とも考えましたがうまくいかず、
なにかいい方法があればご教示いただければと思います。
どうぞよろしくお願いいたします。

おっしゃる通り、custom state(に限らず) list型には同じ値を複数入れることはできません。なので、
和食の件数を格納するcustom state
洋食の件数を格納するcustom state
中華の件数を格納するcustom state
の3つを別で定義するしかないかもです。

listでないと不都合な点とかってありますか?

「いいね!」 1

ご回答ありがとうございます。

現状ではご指摘の方法で困らないのですが、
今後、和食、洋食、中華のほかのジャンルが増えていくと
それ用のcustum stateを追加しなければならないと思うのです。

そのために都度メンテナンスしたくないので、
List Shifterを使って、ひとつのロジックでcustum stateに追加していきたい、
というのが、今回の質問の背景にあります。
何かいい方法があればいいのですが・・・

なるほどです。確かにメンテ必要になりますねー。
list型(custom stateもデータベースも)には同じ値が入らないという特徴と、custom stateだと
AとBという組み合わせをリスト化することができない(プログラミングできには"連想配列"に当たるもの)ので、やはり今回の例だと 保存用の別テーブルを作り、データベースに都度保存しておき、そのレコードをcustom stateにlistで保存しておく。

という実装がいいかもしれないですね。
そのテーブルのfiledは、
food_typeとamountで構成されているイメージです。

「いいね!」 1

色々考えていただいて、ありがとうございます!
そうですね、現状、おっしゃる案がいいですね。
custum stateに2次元配列、いつかできれば泣いて喜びます(笑)
何度もご丁寧にありがとうございました!

「いいね!」 2