在PHP中返回带有外键的对象?

时间:2018-02-25 17:16:08

标签: php mysql database object pdo

我对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()但我不知道如何从我的函数中返回这种对象:/

0 个答案:

没有答案