1
我在這裏遇到了PDO :: FETCH_CLASS有點麻煩。我需要它調用__construct(數組$ data)傳遞數組與數據庫返回的值。PDO FETCH_CLASS調用__construct傳遞數組
我的數據庫是這樣的:
order -> id;
order_item -> id, order_id;
這是如何我從數據庫中檢索:
<?php
public function find($id) {
$stmt = $this->db->prepare("SELECT * FROM orderItem WHERE id = :id");
$stmt->setFetchMode(\PDO::FETCH_CLASS, 'Store\Model\OrderItem');
$stmt->execute(array('id' => $id));
return $stmt->fetch();
}
的問題是,PDO :: FETCH_CLASS創造:
$orderItem->id;
$orderItem->order_id;
而不是
$orderItem->id;
$orderItem->order->id;
我做了一個__construct(數組$ data)方法會反過來說:
<?php
$orderItem = new OrderItem(
array(
'id' => 1,
'order_id' => 10
)
);
注入預期(同上):
$orderItem->id;
$orderItem->order->id;
所以反正是有使PDO調用__construct ()傳遞和關聯數組?
其實我的OrderItem類有($ id,$ order)。 $ order類型是Order類。我需要的是FETCH_CLASS調用我的__construct()方法傳遞關聯數組,而不是設置知道數據的方法。 –
爲什麼使用FETCH_CLASS? –
我想你需要準確描述你想要什麼,因爲它不清楚 –