0
我在drupal中創建多連接mysql查詢時遇到問題。這裏是我的代碼:Drupal多連接查詢
if ($params['mobile_app']) {
if (isset($params['mobile_app_date'])) {
$query->join('field_data_field_on_mobile_app', 'm', 'm.entity_id = n.nid');
$query->join('field_data_field_mobile_app_date', 'm', 'm.entity_id = n.nid');
$query
->condition('m.field_on_mobile_app_value', 1)
->condition('m.field_mobile_app_date_value', dosomething_helpers_convert_date($params['mobile_app_date']), '<=')
->condition('m.field_mobile_app_date_value2', dosomething_helpers_convert_date($params['mobile_app_date']), '>=');
} else {
$query->join('field_data_field_on_mobile_app', 'm', 'm.entity_id = n.nid');
$query->condition('m.field_on_mobile_app_value', 1);
}
}
我得到這個錯誤:
"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'm.field_mobile_app_date_value' in 'where clause'"
這很有趣,但因爲分開的時候,查詢做工精細。只是當我嘗試將它們結合起來時,它就打破了。任何人都知道我在做什麼錯了?
單獨的查詢(作品):
- mobile_app = 1
- mobile_app_date = 2015年10月1日
組合(不工作):??
- ?mobile_app = 1 & mobile_app_date = 2015-10-01
是的,表別名有問題,您不能將相同的別名分配給兩個不同的表。無論如何,恭喜你自己解決問題。希望你的麻煩結束。 –
謝謝@ sourdrup2012! – chloealee