如何在 db_select drupal 7 中使用最近记录的连接
Posted
技术标签:
【中文标题】如何在 db_select drupal 7 中使用最近记录的连接【英文标题】:How to use join on recent record in db_select drupal 7 【发布时间】:2018-08-20 10:12:04 【问题描述】:我有两张桌子。
Table One
xx
yy
zz
Table Two
xx-3
xx-2
xx-1
yy-2
yy-1
zz-4
zz-3
zz-2
zz-1
我想在这两个表之间使用连接,以便它将表二中的最新记录用于表一的每条记录。 即 xx 加入 xx-3 yy 加入 yy-2 和 zz 加入 zz-4
查询将如下所示:
$query = db_select('One', 'o');
$query->leftJoin('Two', 't', 't.column1 = o.column1');
$query->fields('o',array('column1','column2'));
$query->fields('t',array('column1','column2'));
$query->orderBy('o.column1', 'DESC');
如何在 Drupal 7 中使用 db_select 做到这一点?
【问题讨论】:
请在分隔列中定义您的表格字段。 为什么要进行自定义查询?如果您想这样做,请使用一些框架,而不是 cms。使用视图模块进行查询。 【参考方案1】:试试这个代码
$query = db_select('Two', 't');
$query->join('One', 'o', 'o.column1 = t.column1');
$query->fields('t',array('column1','column2'));
$query->orderBy('t.column1', 'DESC');
$res = $query->execute()->fetchAll();
谢谢!
【讨论】:
好的,我更新了我的答案,因为你定义了一个表只有一列,所以你只需要获取两个表字段,现在试试。以上是关于如何在 db_select drupal 7 中使用最近记录的连接的主要内容,如果未能解决你的问题,请参考以下文章