You are here

66 链式

admin 的头像
Submitted by admin on 星期五, 2015-06-12 08:49

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

    我们已经讲了很多有关数据库API函数的链式调用了,例如:

<?php
$result db_select('mytable')
  ->fields('mytable')
  ->condition('myfield''myvalue')
  ->execute();
?>

    然后,并不是所有的函数都可以采用这种链式结构调用,有些函数不能采用链式调用,否则就会导致你的代码不能正常工作。

    对于不能使用链式形式的函数,只能按照下面的方式调用:

<?php
$query db_select('mytable');
$query->addField('mytable''myfield''myalias');
$query->addField('mytable''anotherfield''anotheralias');
$result $query->condition('myfield''myvalue')
  ->execute();
?>

    如果一个函数是链式的,那么它的返回值,必须是查询对象本身。为了查看任意数据库API函数的返回值,可以参看http://api.drupal.org

    在这个页面,我们列出了一些常用的链式函数,和一些非链式函数,方便大家快速查看,不过这里面并没有涵盖所有的函数。如果你觉得哪个函数比较常用,也可以将其添加进来。

    注意:如果一个函数不是链式的,这只意味着你不可以在它的后面链接更多的函数,但是你仍然可以在它前面使用链式函数。

下面是链式函数:

· distinct()

· fields()

· condition()

· where()

· isNull()

· isNotNull()

· orderBy()

· groupBy()

· having()

· union()

· exists()

· notExists()

· range()

· addTag()

· addMetaData()

下面是非链式函数:

· addField()

· addExpression()

· execute()

· addJoin()

· join()

· innerJoin()

· leftJoin()

· rightJoin()

· extend()


Drupal版本: