Почему метод fetch никогда не использует мой конструктор Veld для создания объекта, могу ли я его форсировать?
используемый код для этой ситуации:
VeldDAO используемая функция
public function findAll()
{
try {//drupal query
$query = db_select('veld', 'v')
->fields('v', array('datatype', 'id', 'label', 'beperkingen'))
->execute();
} catch (PDOException $e) {
drupal_goto('foutmelding', array());
}
return $query->fetchAll(PDO::FETCH_CLASS, 'model\Veld');//here
}
класс вельда
class Veld
{
private $id; //Integer
private $label; //String
private $datatype; //String
private $beperkingen; //Beperking
public function __construct($data = null)
{
if (is_array($data)) {
if (isset($data['id']))
$this->id = $data['id'];
$this->label = $data['label'];
$this->datatype = $data['datatype'];
$beperking_id = $data['beperkingen'];
$beperkingDAO = new BeperkingDAO();
$this->beperkingen = $beperkingDAO->findbyID($beperking_id);
}
}
}
Вызов:
$veldDAO = new DAO\VeldDAO();
$veldList = $veldDAO->findAll();
Задача ещё не решена.
Других решений пока нет …