我有下面的代碼有問題:PHP PDO使用fetchall,PDO :: FETCH_CLASS並加入
$query = 'SELECT user.id as id, pet.name as name FROM user
LEFT JOIN pet on pet.user_id = user.id
WHERE user.id = 15';
$result = $pdo->query($query);
此代碼將產生類似這樣:
***************
| id | name |
***************
| 1 | Mikey |
***************
| 1 | Stewie |
***************
| 1 | Jessy |
***************
現在,我喜歡使用PDO::FETCH_CLASS
來獲取對象。但是,至少對我而言,這種方法只適用於簡單的SELECT
聲明。當你有一個連接語句時,它會在一個類中獲取所有內容。換句話說:
$user = $result->fetchAll(PDO::FETCH_CLASS, 'User');
echo $user->name; // this will print the pet name (which is weird)
因此,我想有類似的東西:
$pets = $user->pets; // an array holding Pet Objects
foreach ($pets as $pet)
echo $pet->name . "-";
這將產生:
Mikey - Stewie - Jessy -
我怎樣才能做到這一點?