我有2个数据库的一些数据,我想返回到屏幕 所以通常我会这样做:
foreach($this->seminar->readSubscription() as $value) {
$this->content .= '<tr>';
$this->content .= '<td>'.$value->title.'</td>';
$value->title is then the title from a table.
但是现在我需要来自2个不同表格的2个不同的ID,所以我尝试了像
这样的东西$value->seminar->id;
或类似的东西:
$value->seminar.id;
但似乎任何想法都没有用?
这是我的疑问:
$result = $this->getDb()->query($query);
$values = array();
while(($row = $result->fetchObject()) !== false) {
$values[] = $row;
}
return $values;
答案 0 :(得分:1)
在“select”查询中,为字段名称使用别名。
注册
答案 1 :(得分:1)
在你的情况下:
您将结果作为对象而非数组提取。我总是拿一个数组,所以我的第一个答案不明确。
如果您的查询如下所示:
SELECT a.`name` as name1, a.`otherthing`, d.`name` as name2
FROM `ploatjens` AS a
LEFT JOIN `mapjens` AS d ON a.`dir` = d.`id`
请注意,a.name和d.name具有相同的别名,因此我使用as newname
为它们提供唯一的别名。
然后您可以像这样访问对象:
//your loop
$name_of_a = $value->name1;
$name_of_b = $value->name2;
$other = $value->otherthing;
//end of your loop
当然使用fetch数组时,您可以使用以下方法访问:
//your loop
$name_of_a = $value['name1'];
$name_of_b = $value['name2'];
$other = $value['otherthing'];
//end of your loop