这不是 Drupal 特有的,如果所涉及的对象(因此类)已被写入允许它,则可以这样做。
$result = db_select('contact', 'c')
->fields('c')
->execute()
->fetchAssoc();
正是:
$result = db_select('contact', 'c'); // $results is now a SelectQuery object
$result = $results->fields('c'); // $results is now a ???
$result = $results->execute; /* $results is now a DatabaseConnection_mysql
object, which you can loop over, to return
individual results */
$result = $results->fetchAssoc(); // $results is now an associative array
您可以像在第一个代码中那样链接这些行的原因是因为每个方法都返回一些东西(它是一个对象),下一个方法可以处理(对象类具有该方法)。