Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal db_查询获取所有行_Drupal_Drupal Modules - Fatal编程技术网

Drupal db_查询获取所有行

Drupal db_查询获取所有行,drupal,drupal-modules,Drupal,Drupal Modules,我开始为Drupal构建主题 我有一个关于drupal查询的问题,但我没有找到任何答案 我的一个模块中有一个db_查询,但只返回几行(总是13行,表有20行)。如何从一个表中选择所有行 我的问题是这样的 $result = db_query("SELECT * FROM bv_calendar c INNER JOIN bv_countries p ON c.country_id = p.country_id INNER JOIN bv_vaccinate v ON c.vaccinate_id

我开始为Drupal构建主题

我有一个关于drupal查询的问题,但我没有找到任何答案

我的一个模块中有一个db_查询,但只返回几行(总是13行,表有20行)。如何从一个表中选择所有行

我的问题是这样的

$result = db_query("SELECT * FROM bv_calendar c INNER JOIN bv_countries p ON c.country_id = p.country_id INNER JOIN bv_vaccinate v ON c.vaccinate_id = v.vaccinate_id ORDER BY $orderby ASC");

while ($class = $result->fetchAssoc()) {
    $classes[$class["calendar_id"]] = $class;
}
我怎样才能得到所有的行


谢谢

从外观上看,我想说您没有从*bv_日历*中获取所有行,因为您在SQL查询中使用了内部联接,该查询需要匹配您的*bv_countries*和*bv_investate*表上的记录

尝试替换左联接的内部联接,如后文所述“如果左联接中的ON或USING部分中的右表没有匹配行,则右表将使用所有列均设置为NULL的行。”

如果这是您想要的结果,那么您的SQL查询应该是:

SELECT * FROM bv_calendar c LEFT JOIN bv_countries p ON c.country_id = p.country_id LEFT JOIN bv_vaccinate v ON c.vaccinate_id = v.vaccinate_id ORDER BY $orderby ASC

FROM表中可能有行在一个或两个联接表中没有对应关系。尝试使用LEFT JOIN,注意这不是一个真正的Drupal问题。你说得对,我在这上面花了太多时间!谢谢你的“眼睛”!