質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

1回答

1317閲覧

タグ機能の実装について

退会済みユーザー

退会済みユーザー

総合スコア0

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

1クリップ

投稿2017/11/24 15:06

タグ実装の流れについて、良い方法はないか教えて頂きたいです。

私が思いつくのは以下のような方法だけです。
Toxi法という、中間テーブルを持つものを採用します。

一つの記事に複数のタグが紐づく感じで、一つのタグは複数の記事に紐づきます。

記事を書いた時に、タグを追加出来るようにします。
この時、既に登録されているタグと、そうではないタグが登録されうると思います。

投稿時にタグの名前をタグテーブルより検索し、タグのIDを複数取得します。
検索して、タグテーブルに存在しないタグは、新規で保存し、そのタグIDを取得します。

全てのタグIDを取得し終わったら、記事の保存(これは先にしてもいいですが)をし、記事IDを取得します。

タグと記事の中間テーブルに記事のID、タグのIDをすべて登録します。

上記のような感じでできるかと思いますが、いかがでしょうか?
他にも良い方法がありますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

タグをタグIDで管理する場合は、質問に記載の内容で問題ないのではないかと思いました。

効率は落ちますが手軽な方法としては、タグの配列をシリアライズしたものを記録する方法が考えられるかと思います。
この場合、すでに存在するタグの一覧を取得するのは手間ですが、各ページ間でのタグIDの整合性等を気にする必要がなくなります。
また、1列で管理できるので、中間テーブル等も不要で、どんなタグが入っているのかも比較的わかりやすいです。
デメリットとしては、保存に必要なデータ量が増えることが考えられます。

投稿2017/11/24 15:28

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問