現在ブログのような投稿システムで、投稿する内容に0~10までのカテゴリを各ユーザが作れるようにしたいと考えています。
articlecategoryのようなものを作りたいのですが、カラム番号と一致できるようにカラムとして、
category1~10的なカラムを作りたいと考えています。テーブルに例えると、カテゴリ名を横に設計していきたいです。0はデータベースでdefault 0を設定したいとします。
①新規フィールドいつ作るのが理想か。
ユーザ情報登録時なのか、ユーザが作りたいと思ったときに作るのか。(通常ブログ記事のデフォルトでは0になっています)
できれば新規ユーザ時に登録して、ユーザがカテゴリ登録もできるのかというような認知できる設計にしたいと考えていますが、新規ユーザのユーザIDとカテゴリテーブルのIDがいつも一致できるのか心配です。userテーブルのid番号を新規登録した際にカテゴリテーブルに同じuser_idとしてフィールドを作りたい場合、どのようにすればよいのか。
PHP
1$result = mysql_query($query); 2$last_id = mysql_insert_id();
的なものをcakephp3ならどうするか。
②カテゴリ内の記事を全削除するためにはどうしたらよいのか。
外部キー制約でカテゴリ内の記事を全削除なんてことはできるのか?
行の削除は外部キー制約でできるが、delete from articles where user_id = 100 and category = 5;
的なクエリを投げて全削除するべきなのかという疑問です。
③カテゴリテーブルのカラム名について
1,2,3,4というように数字はできるのか。mysqlではできるが、オブジェクト指向として取り出すときにフィールドに数字番号は可能なのでしょうか。$category->1
的な感じです。
回答によって、色々考えることが派生していくことが考えられるので、ちょっとわかりにくい質問ですがどのようにすればよいか教えてください。
追記:色々と考えていたらカラムを10個設定しなくてもよさそうな気がしてきました。
懸念していた事はユーザがカテゴリの順序を任意で変えていきたいというものでした。
id,user_id ,category_id ,category_name, created, modified
的な感じにして、modifiedでソートをかけていけば順序が保てそうです。
どうなのでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/29 08:46
2016/10/29 09:13 編集
2016/10/29 09:34
2016/10/29 10:13
2016/10/29 10:45