gpt4 book ai didi

php - 使用 PHP 从 MySQL 中获取所有记录作为惰性 ="false"

转载 作者:行者123 更新时间:2023-11-29 05:27:49 24 4
gpt4 key购买 nike

我的数据库 users 和 users_roles 中有 2 个表,如下所示:

用户:

id | username | user_role_id
----------------------------
1 | User1 | 1
2 | User2 | 1
3 | User3 | 2

用户角色:

id | role 
----------
1 | admin
2 | user

所以,在 Java 中,我只需要在 Hibernate 映射中编写一个属性 lazy="false"来获取所有 users 的列表,自动包含 users_roles 对象,每个专门针对 users 表中的每条记录,但在 PHP 中?我刚刚在 PDO 中遇到一个名为 FETCH_ASSOC 的选项,但我不明白它是如何工作的。

我获取所有用户列表的方法如下所示:

public function getAll() {

$conn = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);

$sql = $conn->prepare("SELECT * FROM users ORDER BY id DESC");

$sql->execute();
$list = $sql->fetchAll(PDO::FETCH_OBJ);

$conn = null;

return $list;
}

以及 Smarty 模板中的一段代码:

{foreach from=$usersList item=item}                
{$item->username}
{$item->users_roles.role}
{/foreach}

你介意帮我一点点让我走上正确的道路吗?

最佳答案

FETCH_ASSOC 选项将行提取到关联数组中,例如:

Array
(
[0] => Array
(
[id] => 1
[name] => name1
)

[1] => Array
(
[id] => 2
[name] => name2
)
)

如果想top获取users_roles表中有相应记录的所有用户,可以使用这个请求:

SELECT 
*
FROM
users
INNER JOIN
users_roles
ON
users_roles.id=users.user_role_id
ORDER BY
users.id DESC

关于php - 使用 PHP 从 MySQL 中获取所有记录作为惰性 ="false",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18011697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com