2014-09-03 5 views
-1

Я пытаюсь получить объект User и вернуть его.PHP PDO выборка объекта

<?php 
class User { 
    private $id; 
    private $username; 
    private $email; 

    function __construct($id, $username, $email) { 
     $this->id = $id; 
     $this->username = $username; 
     $this->email = $email; 
    } 

    function getId() { 
     return $this->id; 
    } 

    function getUsername() { 
     return $this->username; 
    } 

    function getEmail() { 
     return $this->email; 
    } 
} 

Это работает, но кажется неэффективным (это?):

$user = $stmt->fetch(PDO::FETCH_ASSOC); 
$result = new User($user['id'], $user['username'], $user['email']); 
return $result; 

Это дает мне ошибки:

$user = $stmt->fetchObject('User'); 
return $user; 

Что я делаю неправильно?

+0

Использование 'PDO :: FETCH_OBJ' – davidxd33

+0

Какая ошибка? PDO не вернет объект 'User', он вернет данные как объект, то есть с каждым именем столбца в качестве члена и значением, установленным для значения данных. – user3791372

ответ

0

Ваш первый способ - это как это сделать. Если вы хотите объект User, вы должны его создать. Я не вижу причин, по которым это было бы неэффективно.

Смежные вопросы