dashan 提交于
Drupal 7 发生了很大的改变,包括数据结构和一下api,总之感觉上更加强大,开发更加方便,提供了更多扩展性很强的api使用。drupal 7 数据层比较drupal 6 而已发生了很大的改变。drupal 7 多表查询使用实例:
<?php
function ditusearch_top_parent_id($vid) {
$query = db_select('taxonomy_term_hierarchy','h'); //选择表
$query->join('taxonomy_term_data','d','h.tid = d.tid'); // 联合查询
$query->addField('d', 'tid'); // 添加字段
$query->condition('h.parent',0); // 添加条件where
$query->condition('d.vid',$vid); // 再添加一个条件 and ....
$query->addTag('ditusearch_generate_path'); // 添加Tag 可选项,这个就是方便其他地方可以改变这个查询$query 比如如果添加了tag 可以使用 hook_query_alter 对其进行查询 如果你使用过views开发,views 也可以了类似的hook
$tid = $query->execute()->fetchCol();
return $tid; //返回一个数组
}
function ditusearch_query_alter(QueryAlterableInterface $query) {
if($query->hasTag('ditusearch_generate_path')) {
$query->addField('d','vid'); // 通过下图可以感到对查询进行了改变
}
}
?>
- 登录以发表评论