【发布时间】:2018-12-07 22:52:18
【问题描述】:
我想显示数据库表中的 6 条记录。 两个表之间存在一对多的关系。使用自定义映射器,我将这些记录映射如下。
$result = [
0=>[
"name"=>"jithin",
"phone"=>"907856",
"messages"=>[
0=>[
"title"=>"text messgae"
],
1=>[
"title"=>"Data messgae"
]
]
],
1=>[
"name"=>"Rijin",
"phone"=>"90247856",
"messages"=>[
0=>[
"title"=>"text messgae"
],
1=>[
"title"=>"Data messgae"
]
]
]
]
查询
"SELECT u.* , m.* FROM user u INNER JOIN messages m ON m.userId = u.id
WHERE m.date BETWEEN "12-12-2015" AND "12-12-2018" LIMIT 0, 6;
此查询将返回类似
的数据userId | name | messages|
-------|------|---------|
1 |jithin| hai |
1 |jithin| hello |
1 |jithin| Why? |
2 |Rijin | hai |
2 |Rijin | Where |
2 |Rijin | Why? |
-------------------------
但我还需要另外 4 个人的另外 4 条记录。 我正在使用php和mysql5.7。
【问题讨论】:
-
你能显示你的数据集中有什么,你想要什么结果吗?
-
我需要 6 个人记录。两个表用户和消息。 user表包含userId、userName、phoneNumber字段,messages表包含userId(外键)、messageId、message
-
此查询返回 6 条记录,但其中包含一对多关系。因此我无法管理分页。
-
我需要 6 个人记录。两个表用户和消息。
user表包含userId, userName, phoneNumber fields,和messages表包含userId(foreign key), messageId, message
标签: php mysql database pagination one-to-many