【问题标题】:Setting Own Parameters from Database using PDO::FETCH_CLASS使用 PDO::FETCH_CLASS 从数据库设置自己的参数
【发布时间】:2012-08-05 06:54:18
【问题描述】:

我创建了一个类用户,它反映了用户表中的行。有一种填充方法,我根据主键从数据库中获取值并尝试将其存储在 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 风格的工具,想自己开发类。

【问题讨论】:

    标签: php class pdo


    【解决方案1】:

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

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

    【讨论】:

    • 我不想一一赋值。这太费时间了。
    • 然后使用ArrayAccess结合魔术方法__get()
    • ok.. 会记住这一点。为您的答案评分 +1,并将等待更多答案。我认为这个问题类似于stackoverflow.com/questions/9453933/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2019-07-29
    相关资源
    最近更新 更多