0
我有一个使用调用setFetchMode一个PDO类(PDO :: FETCH_CLASS,get_called_class()),定制PDO获取模式
,但现在我devoloping一类“工厂”,映射通过传递一个表构造函数等,而不是将表字段作为类的成员映射表获取我有一个字段数组匹配!
到目前为止好!我认为!
但我需要适应我的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给我$区域,而不是类实例的数组的数组。
我的目标是让我的框架能够在运行时创建表和各自的地图,并仍然能够使用它的工具! – davidmr
会将公共$映射添加到工厂,并将PDO调用更改为$ sth-> setFetchMode(PDO :: FETCH_CLASS,get_called_class(),$ this-> map);解决这个问题?我现在要试试这个!但是在我真的可以测试这个之前,我已经有好几个课程要适应了!欢迎任何提示!谢谢! – davidmr