- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的 php 类:
class bar{
public $value;
}
class foo extends bar{
public $value;
public $name;
}
在数据库中:
-bar table:
value
-----
'bar value 1'
'bar value 2'
-foo table:
value | name
-------------+--------------
'foo value 1'| 'foo name 1'
'foo value 2'| 'foo name 2'
如何使用 PDO FETCH_CLASS 存储和获取它们?
最佳答案
这似乎不需要特殊处理。只要您知道请求的是 foo
还是 bar
,您只需将其作为字符串传递给 fetch 调用即可。由于 foo
和 bar
有不同的表,我假设您在查询时已确定需要哪一个。
// Build a foo
$stmt->setFetchMode(PDO::FETCH_CLASS, 'foo');
$stmt->fetch()
// Or build a bar
$stmt->setFetchMode(PDO::FETCH_CLASS, 'bar');
$stmt->fetch()
关于mysql - 将 PDO FETCH_CLASS 与多态类一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10668898/
有什么方法可以将 PDO 的结果作为构造函数的参数传递吗?比方说,我有以下类(class): class Test { private $value1; private $value2
是否可以创建另一个实例作为 PDO::fetchAll() 中当前实例的参数发送? 如果设置了\PDO::FETCH_PROPS_LATE,它将首先调用__construct,然后设置属性。因此通过数
我喜欢使用 PDO::FETCH_CLASS 来获取对象数组,应该调用构造函数,因为我需要此类中的构造函数。作为第三个参数,我使用数据库表中的列名。结果我得到了列的名称,但不是数据库中的预期值。我正在
我正在尝试将查询结果转换为类。 $result->setFetchMode(PDO::FETCH_CLASS, 'myclass', array()); 这工作得很好,但是类名 myclass 取决于
我有以下映射到 MySql 表的示例类(如下所示)。当我使用 PDO::FETCH_CLASS 并执行 *var_dump* 时,我看到映射将转到所有小写属性。即“shortName”映射到“shor
有什么方法可以将 PDO 的结果作为构造函数的参数传递吗?比方说,我有以下类(class): class Test { private $value1; private $value2
我正在尝试在一个对象上使用 PDO::FETCH_CLASS。我正在使用命名空间并输入: $result = $query->fetchAll(\PDO::FETCH_CLASS, 'Product'
我遇到了一段代码,其中 PDO::FETCH_CLASS 被调用时没有将类的名称作为参数传递,如下所示: function getUsers() { $DBH = $this->getDb
PDO::FETCH_CLASS 允许使用预填充数据初始化类实例。它看起来像这样: data === ['foo' => 1, 'bar' => 1] } public functio
假设我有 2 个 php 对象: 和 每个帖子都有一个唯一的约束,数据库中有 1 个用户。 我想使用 PDO 的“FETCH_CLASS”方法将数据填充到“Post”对象中,该方法适用于所有“Po
假设我有 2 个 php 对象: 和 每个帖子都有一个唯一的约束,数据库中有 1 个用户。 我想使用 PDO 的“FETCH_CLASS”方法将数据填充到“Post”对象中,该方法适用于所有“Po
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 去年关闭。
在使用 PDO::FETCH_CLASS 时,似乎没有办法让 PDO 使用构造函数/setter 创建新对象。 我猜,目前使用 FETCH_CLASS 时,成员变量会使用反射来填充。它们当然不会通过构
借助 PDO,我们现在可以轻松地将字段映射到对象的属性,速度极快。这个: class myClass {} $stmt = $db->prepare('SELECT foo,bar FROM tab
因此,我使用 PDO::FETCH_CLASS 来创建一个新对象,并使用数据库中同名列中的值填充属性,如下所示: $db = Connection::get(); $sql = $db->prepar
我有一个像这样的 php 类: class bar{ public $value; } class foo extends bar{ public $value; public
我有一个类使用魔术方法来存储属性。这是一个简化的示例: class Foo { protected $props; public function __construct(array
我在下面的代码中遇到问题: $query = 'SELECT user.id as id, pet.name as name FROM user LEFT JOIN pet on
我想使用 PDO 创建对象实例。我知道有很多 questions已经,但我只发现可以将参数数组发送给构造函数。在我看来,构造函数似乎只能接受一个数组作为参数。然而,这会降低构造函数的意义。 我想用我自
我觉得在这里问这个问题有点脏,因为我觉得我应该可以用谷歌搜索它,但是好吧......我没有找到任何东西。 有没有办法在正常的 fetch 函数中使用 fetchmode PDO::FETCH_CLAS
我是一名优秀的程序员,十分优秀!