社内勉強会
symfony “TAG” 2007-8-22(wed.) TAKAHARA Yoshihiro
1
今日のテーマ
2
“TAG”
3
TAG?
4
↑ニコニコ動画 はてなブックマーク→ 5
あまりにも典型的な コンテンツ分類方法
6
なんとなく Web2.0っぽい
7
タグ実装の パターンを覚えよう →今日のテーマ
8
お勉強の時間です
9
Tagの実装には 多対多の関係を使います
10
多対多?
11
そのまえに 一対多
12
一対多 市町村
都道府県
id
name
id
name
1
札幌
1
北海道
2
釧路
2
青森県
3
盛岡
3
岩手県
多
一 13
親一つに対し 子が複数
14
一対多 市町村
都道府県
id
name
prefecture_id
id
name
1
札幌
1
1
北海道
2
釧路
1
2
青森県
3
盛岡
3
3
岩手県
多
一 15
多対多は?
16
多対多 id
name
1
組曲「ニコニコ」
2
PHP以外みんな不正解
3
symfonyのソースコード
id
name
1
才能の無駄遣い
2
吹いたら負け
3
孔明の罠
の値段
17
多対多 content
id
name
1
組曲「ニコニコ」
2
PHP以外みんな不正解
3
symfonyのソースコード
content_tag
tag
id
name
1
才能の無駄遣い
2
吹いたら負け
3
孔明の罠
の値段
18
多対多 content
id
name
1
組曲「ニコニコ」
2
PHP以外みんな不正解
3
symfonyのソースコード の値段
content_tag
tag
id
name
1
才能の無駄遣い
2 1
2
吹いたら負け
2
3
孔明の罠
content_id 1 2
tag_id 1 1
2 3 3
19
スキーマ定義
20
schema.yml
21
!最近の流行 →symfony propel-convert-yml-schema 22
23
サンプルデータ投入
24
data/fixtures/ contents.yml
→symfony propel-load-data frontend 25
→書きにくい
26
こんな風に書けたらなぁ∼
27
書けます!
28
29
多対多テーブルの 扱い方
30
「吹いたら負け」 全部持ってきて∼
31
32
33
sfPropelManyToMany でもっと簡単にできるよ [symfonyで開発日記] 多対多テーブルを簡単に扱う http://blog.symfony.jp/2006/12/29/sfpropelmanytomany/ 34
35
36
「才能の無駄遣い」 新しいの2つ持ってき て∼ 37
38
39
40
sfPropelManyToMany 便利なので使って下さい
http://svn.symfony-project.com/trunk/lib/addon/propel/sfPropelManyToMany.class.php
41
みんな大好き Admin Generator
42
モジュール名 symfony propel-init-admin frontend content Content
アプリケーション名
モデル名
43
44
タグ付けしたい!
45
apps/frontend/modules/content/config/generator.yml 46
apps/frontend/modules/content/config/generator.yml ※generator.ymlを変更したらsymfony cc 47
←惜しい!
48
49
50
おさらい • 多対多スキーマの定義 • サンプルデータ投入方法 • sfPropelManyToMany • admin_double_list 51
ご清聴ありがとうご ざいました
52