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