次のように、データベース 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
内の各レコードについてですが、PHP では? users
と呼ばれる PDO のオプションに出くわしましたがFETCH_ASSOC
、それがどのように機能するのか理解できません。
私の get all users list メソッドは次のようになります。
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}
正しい道を歩むために少し手伝ってくれませんか?