【问题标题】:With join what must be the fields in order to take all the values?使用 join 必须是哪些字段才能获取所有值?
【发布时间】:2015-05-27 07:41:08
【问题描述】:
 $query = db_select('watchdog', 'wa');
 $query->leftJoin('malgona', 'm', 'm.wid = wa.wid')
       ->fields('m');

如果我输入字段m,我只取m 的值,如果我输入wa,我只取wa 的值。字段值必须是什么才能进行联接(使用两个表中的值)?

【问题讨论】:

  • 你试过类似->fields('m, wa')吗?

标签: php mysql sql drupal drupal-7


【解决方案1】:

你可以多次调用fields方法:

 $query = db_select('watchdog', 'wa');
 $query->leftJoin('malgona', 'm', 'm.wid = wa.wid')
    ->fields('wa')
    ->fields('m');

如果您还定义表的列可能会更好,因为如果您在表中具有相同的命名列,则使用此通用字段而没有列定义将导致名称冲突(see Drupal:Fields)

 $query = db_select('watchdog', 'wa');
 $query->leftJoin('malgona', 'm', 'm.wid = wa.wid')
    ->fields('wa', array('wa_id', 'wa_field1', 'wa_field2'))
    ->fields('m', array('m_id', 'm_field1', 'm_field2'));

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多