но сейчас я разрабатываю класс «фабрика», который отображает таблицу, переданную через конструктор, и поэтому вместо того, чтобы поля таблицы были членами класса, отображающего извлекаемые таблицы, у меня есть массив полей, которые нужно сопоставить!
Пока все хорошо! Я думаю!
Но мне нужно адаптировать мой класс PDO, и я не знаю, как заставить его сопоставляться с ассоциативным массивом, а не с членом класса!
Может кто-нибудь дать мне подсказку, пожалуйста?
в моей фабрике классов у меня есть следующее:
Код: Выделить всё
class factory extends Database
{
public $fields = array();
public $fieldnames = array();
public $fieldvalues = array();
// Nomes das colunas com datas de criação e alteração do registo
static protected $insert_timestamp = 'datacriado';
static protected $update_timestamp = 'dataalterado';
// Array com defaults que são aplicados ao objecto antes de gravação na BD
static protected $defaults = array();
// Nome da tabela na base de dados
public $TABLENAME = "";
/*********************************************************************
/ Construtor.
*********************************************************************/
public function __construct($map)
{
parent::__construct();
$fp=fopen($map,"r");
$map=fgets($fp);
fclose($fp);
$mapArr=explode(":",$map);
$this->TABLENAME=$mapArr[0];
$map=$map[1];
$mapArr=explode(";",$map);
foreach($mapArr as $v)
{
array_push($fieldnames,$v);
array_push($fieldvalues,":".$v);
array_push($fields[$v],'');
}
// definir DEFAULTS se houver
}
Я хочу, чтобы PDO предоставил мне массив полей $ вместо массива экземпляров классов.
Подробнее здесь: https://stackoverflow.com/questions/245 ... fetch-mode
Мобильная версия