我在以下代码中遇到问题:
$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);
Run Code Online (Sandbox Code Playgroud)
此代码将生成类似于此的内容:
***************
| id | name |
***************
| 1 | Mikey |
***************
| 1 | Stewie |
***************
| 1 | Jessy |
***************
Run Code Online (Sandbox Code Playgroud)
现在,我想PDO::FETCH_CLASS用来获取一个对象.但是,至少对我来说,这种方法只能用简单的SELECT语句才能正常工作.当你有一个join语句时,它将获取一个类中的所有内容.换一种说法:
$user = $result->fetchAll(PDO::FETCH_CLASS, 'User');
echo $user->name; // this will print the pet name (which is weird)
Run Code Online (Sandbox Code Playgroud)
因此,我想要有类似的东西:
$pets = $user->pets; // an array holding Pet Objects
foreach ($pets as $pet)
echo $pet->name . "-";
Run Code Online (Sandbox Code Playgroud)
这将产生:
Mikey - Stewie - Jessy -
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |