2016-12-14 14 views
0

ハッシュタグをイメージとともにサーバーに保存しようとしています。ハッシュタグを保存するにはどうすればいいですか?Swift

すべてを正しく保存しています。画像と画像のキャプション。

キャプションにあるハッシュタグを保存しようとしていますが、1つの方法がありますが、わかりません。

イメージをアップロードして各ハッシュタグを個別に保存し、「ハッシュタグ」テーブル内の異なるハッシュタグごとに新しい行を作成するときに、接頭辞「#」のキャプションテキストを検索する必要がありますか?

それは私が推測する最も基本的な方法だと思われますが、例えば20個のハッシュタグがあれば20個のクエリはありませんか?今私はこの1つのイメージをアップロードする20以上のクエリを行うことは非常に良いアイデアだろう...

私のサーバーにはMYSQLとPHPを使用しています。私はおそらく私のPHPで検索を行うことができると思ったファイルですが、これは以前のアイデアと同じ結果になります...

これは可能なのかどうか考えています:通常はすべて保存しておきますが、アプリ内でハッシュタグをタップすると選択されたハスタグのための各画像のすべてのキャプションを介して、そのppostを返すか?

誰かが私にそこに大喜びの言葉や助言を与えることができるかどうかはわかりません!

すべて最高です。

答えて

0

あなたはこのようなDB構造を実装することができ正規表現を使用して、キャプション内のすべてのハッシュタグを見つけ、配列に配置します。

次に、1つのクエリのみでハッシュタグテーブルにすべてを保存します(REPLACE、INSERT IGNOREまたはON DUPLICATE KEYを使用)。ハッシュタグが既に存在する場合、再度挿入することはできません。

次に、常にimages_hashtagsテーブルにrelation image-hashtagを1つのクエリで挿入します。

これはやや冗長なアプローチですが、データをより柔軟に取得できます。ユーザーがキャプションを変更できる場合、更新中にいくつかの行をクリアする必要があります。私の意見では、クリーンキャプションを送信し、サーバー側でハッシュタグのロジックを管理する方が良いです。

+0

ありがとうございました。私は答えを得るつもりはありませんでした。私は私の質問で言及したのと似たような方法を見つけましたが、現時点では、20のハッシュタグまたは0のハッシュタグを追加すると、速度が変わらず、速度が違います。しかし、私は来週、すべてをチェックするためにそれを振り返ります。だから私はあなたに知らせますが、あなたの答えは最高のようです! –

0

次の例のように、任意のキーで、あなたにパラメータとしてマルチパートデータと配列やハッシュタグなどの画像を送信することができます:

Table images 
    - image_id (primary key) 
    - filename 
    - caption 

Table hashtags 
    - hashtag (primary key) 

Table images_hashtags 
    - image_id (foreign key on images.image_id) 
    - hashtag (foreign key on hashtags.hashtag) 

アップロード中:

"hashtags" : ["first", "second"] 
関連する問題