使用 join 必须是哪些字段才能获取所有值?

With join what must be the fields in order to take all the values?

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

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

您可以多次调用字段方法:

 $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'));