Amb*_*ans 4 php mysql database oop
我将尝试用一个例子来说明我的意思.
假设您正在运行具有用户并允许发布帖子的网站.
您有一个用户列表,每个用户都有:
一个名称
密码
选择主题
POSTS:
- 帖子标题 - 发布
时间/日期
- 帖子ID
- 帖子的标签数组
用户ID /名称/通行证/主题很简单.每个变量都可以是一个列,ID auto-incs.当我到达帖子时,我不知道该怎么做.在友好的友好OOP中,我只想制作一个post对象类型并为用户创建一个数组.我怎么能在mySQL DB中这样做?我有点震惊的是,这不是我教科书中的第一件事,这一点非常普遍.无论如何,我可能会做一个可怕的丑陋黑客让它上班,但我想知道'正确'的方式.
谢谢!
成员:
id (autoinc)
name
password
theme_id
Run Code Online (Sandbox Code Playgroud)
帖子:
id (autoinc)
member_id
title
date
Run Code Online (Sandbox Code Playgroud)
标签:
id (autoinc)
name
Run Code Online (Sandbox Code Playgroud)
Tag_Relations:
tag_id
post_id
Run Code Online (Sandbox Code Playgroud)
帖子是帖子的"数组",其中member_id列将每个帖子链接到其用户.标签是您的标签"阵列",标签关系将每个标签链接到一个或多个帖子.
以下是如何使用一个查询获取用户的所有帖子和标记的示例:
SELECT Members.name, Posts.title, Tag_Relations.item_id, Tags.name
FROM Members LEFT
JOIN Posts ON Members.id = Posts.member_id
LEFT JOIN Tag_Relations ON Tag_Relations.post_id = Posts.id
LEFT JOIN Tags ON Tags.id = Tag_Relations.tag_id
WHERE Members.id = 2779;
+----------+-----------------------------------+------------+---------+
| name | title | item_recid | name |
+----------+-----------------------------------+------------+---------+
| Mike | One Post's Title | 973 | Houses! |
| Mike | One Post's Title | 973 | Cars |
| Mike | One Post's Title | 973 | Hats |
| Mike | Another Post's Title | 973 | Cars |
| Mike | Yet another post | 975 | Homes |
| Mike | Guess what?! | 976 | Houses! |
| Mike | Another one :) | 977 | Noses |
| Mike | Another one :) | 977 | Mouth |
| Mike | Another one :) | 977 | Head |
| Mike | Another one :) | 977 | Knees |
+----------+-----------------------------------+------------+---------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |