1

我创建了一个类用户,它反映了用户表中的行。有一种填充方法,我根据主键从数据库中获取值并尝试将其存储在 self 对象中。我可以通过获取所有变量并为每个字段一个一个地设置它们来做到这一点。有没有办法使用 PDO::FETCH_CLASS 或任何其他简单的方法来做到这一点?

如果我尝试使用 $this = $stmt->fetch( PDO::FETCH_CLASS ) 存储它,则会出现致命错误:Cannot re-assign $this in /var/www/html/php/classes.php on line 51 错误。

我不想使用 ORM 风格的工具,想自己开发类。

4

1 回答 1

2

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

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

于 2012-08-08T07:45:19.413 回答