0

同じ名前の2つの特定のレコードを別々にターゲットにする方法を知っている人はいますか?

すなわち。データベースから同じ名前の2つのフィールドを印刷しようとしています…もちろん、同じ結果が得られます。

少し省略されたコード:

$query = db_select('node', 'n');

$query->join('users', 'u', 'u.uid = n.uid'); 
$query->join('taxonomy_term_data', 'td', 'td.tid = ti.tid'); 

 $query
->fields('u', array('name')) 
->fields('td', array('name'))

foreach ($result as $record) {                 

User Name: <?php echo $record->name; ?>
Tag Name : <?php echo $record->name; ?>

}

答えが見つかりませんが、このようなものを推測します

<?php echo $record->td['name']; ?>

しかし、運はありません。

4

1 に答える 1

0

addFieldメソッドを使用して、フィールドにエイリアスを追加できます。クエリは次のように書き直すことができます:

$query = db_select('node', 'n');

$query->join('users', 'u', 'u.uid = n.uid'); 
$query->join('taxonomy_term_data', 'td', 'td.tid = ti.tid'); 

 $query
->addField('u', 'name', 'username') 
->addField('td', 'name', 'tagname')

foreach ($result as $record) {                 

User Name: <?php echo $record->username; ?>
Tag Name : <?php echo $record->tagname; ?>

}
于 2012-12-20T12:48:35.927 に答える