使用PDO :: FETCH_CLASS从数据库设置自己的参数

时间:2012-08-08 07:38:46

标签: php class pdo

我创建了一个反映用户表中行的类用户。有一种方法填充,我从数据库中获取基于主键的值,并尝试将其存储在自身对象中。我可以通过获取所有变量并逐个设置它们来实现。有没有办法使用PDO :: FETCH_CLASS或任何其他简单方法?

如果我尝试使用$ this = $ stmt-> fetch(PDO :: FETCH_CLASS)来存储它,则会产生致命错误:无法在/var/www/html/php/classes.php中重新分配$ this第51行错误。

我不想使用ORM样式工具,并希望自己开发这个类。

1 个答案:

答案 0 :(得分:2)

您是否尝试过类似list($ this-> a,$ this-> b,$ this-> c)= array((...)),其中数组(可能)是您获取的结果? 因为你不能分配$ this这个变量,所以只能引用它的字段和方法。

另一个解决方案是实现ArrayAccess接口并在底层数组中存储数据。