Drupal模块开发
DRUPAL8模块开发 - DRUPAL8数据库API - 插入数据(二)
DRUPAL8数据库API - 插入数据第二节中,我们介绍了多插入语句、基于选择查询的结果插入、默认值的使用。Drupal开发中,插入查询对象也可以采用多个值集。也就是说,可以多次调用Values()来将多个INSERT语句并入。究竟如何发生将取决于所讨论的数据库的能力。在大多数数据库中,多个INSERT语句将在事务内部一起执行,以获得更大的数据完整性和速度。在MySQL中,它将使用MySQL的多值插入语法。
DRUPAL8模块开发 - DRUPAL8数据库API - 插入数据(一)
Drupal开发中,插入查询必须始终使用查询生成器对象。某些数据库需要对LoB(大型对象,如MySQL中的文本)和BLB(二进制大对象)字段进行特殊处理,因此需要一个抽象层来允许各个数据库驱动程序执行它们所需的任何特殊处理。使用INSERT()方法启动插入查询如下:
DRUPAL8模块开发 - DRUPAL8数据库API - 取(结果)到一个自定义对象中
Drupal开发中,查询可以基于自定义类获取到对象中。例如,如果我们有一个名为ExampleClass的类,下面的查询将返回示例类的对象。
DRUPAL8模块开发 - DRUPAL8数据库API - 结果集
Drupal8或者Drupal7的选择查询将始终返回一个零或多个记录的结果集对象。根据用例,在Drupal开发过程中有几种方法可以从结果集检索数据。最常见的情况是用 foreach()循环迭代结果集
DRUPAL8模块开发 - DRUPAL8数据库API - 函数和操作
Drupal8的数据库层不提供SQL函数的跨数据库抽象。对于支持的数据库引擎的可移植性,各位Drupal开发者的代码应该只使用已知的ANSI标准的一部分,并支持Drupal8支持的所有数据库。下面是一个仍然不完整的列表。这里推荐使用的表单,因为其他语法变体可能对所有数据库都不起作用
DRUPAL8模块开发 - DRUPAL8数据库API - Expressions
Drupal8查询语句创建器支持在字段中使用expressions, 比如“所有的名字字段的数量”。请注意,许多表达式可以使用SQL函数,并不是所有SQL函数都在所有数据库中都是标准化的。只有模块开发人员才能确保只使用跨数据库兼容的表达式。