我对PHP对象很新,我想知道我的书中没有的东西。
我的问题是,在我的数据库中,我有一个表"用户"使用我的表中的外键" Ranks",我想将其转换为PHP对象,所以我以这种方式创建了我的课程:
class User
{
// Attributs
private $erreurs = [],
$id,
$pseudo,
$password,
$rang, // Here is the foreign key
$mail,
$avatar,
$dateInscription;
}
所以,我还有一个函数来从我的表中获取每个用户并列出它们,问题是:如何正确地返回我的用户的等级?
实际上我通过在SQL上链接我的两个表来实现这一点,并且在我的排名表上获得了我想要的数据:
public function GetAllUsers($debut = -1, $limite = -1)
{
$requete = 'SELECT u.id, u.pseudo, rd.libelle FROM users u, references_detail rd WHERE rd.clef = u.rrang ORDER BY u.pseudo';
// Vérification des paramètres
if ($debut != -1 || $limite != -1)
$requete .= ' LIMIT '.(int) $limite.' OFFSET '.(int) $debut;
$requete = $this -> db -> prepare($requete);
$requete -> setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'User');
$requete -> execute();
$listeUsers = $requete -> fetchAll();
$requete -> closeCursor();
return $listeUsers;
}
这样做是一种好方法,还是更好地返回用户的实例并在我的对象用户上实现排名?
其实我做用户 - > GetRank()将其显示在屏幕上,作为一个对象,我认为用户做得更好 - >排名 - > GetName()但我不知道如何从我的函数中返回这种对象:/