2016-10-04 66 views
0

我想離開entity_id離開,但只是收到一個錯誤,沒有細節。Drupal 7選擇查詢與連接entity_id

Drupal中的entity_id是否有退出的技巧?

$query = db_query('SELECT COUNT(n.field_feed_vehicle_code_value) FROM {field_data_field_feed_vehicle_code} n LEFT JOIN {field_data_field_feed_vehicle_date_used} du ON n.entity_id = du.entity_id WHERE n.field_feed_vehicle_code_value = :utilization AND du.field_feed_vehicle_date_used = :utilization_date', array(':utilization' => $fieldVehicleCode, ':utilization_date' => $fieldDVIRDate))->fetchField(); 

我發現其他關於左連接的問題,但沒有真正在entity_id上。我也發現這Drupal 7 select query with joins但這種解決方案也沒有工作。

$query = db_select('node', 'n'); 
$query->leftJoin('field_data_field_feed_vehicle_code', 'vc', 'n.nid = vc.entity_id'); 
$query->leftJoin('field_data_field_feed_vehicle_date_used', 'du', 'n.nid = du.entity_id'); 
$query 
->fields('n', array('nid')) 
->fields('vc.field_feed_vehicle_code_value', $fieldVehicleCode , '=') 
->fields('du.field_feed_vehicle_date_used', $fieldDVIRDate , '=') 
->condition('type', 'dvir_utilization_feed') 
->condition('status', 1) 
->execute(); 
$num = $query->rowCount(); 
+0

什麼樣的錯誤沒有細節? – Drew

+0

當我訪問該頁面時獲取502,但所有其他加載正常。 – ImaginedDesign

回答

0

我相信你想使用

->condition('vc.field_feed_vehicle_code_value', $fieldVehicleCode , '=') 
->condition('du.field_feed_vehicle_date_used', $fieldDVIRDate , '=') 

,因爲這是不是爲->fields

+0

這裏就是我想: $查詢= db_select( '節點', 'N') \t \t \t \t \t \t - > leftJoin( 'field_data_field_feed_vehicle_code', 'VC', 'n.nid = vc.entity_id' ) \t \t \t \t \t \t - > leftJoin( 'field_data_field_feed_vehicle_date_used', '杜', 'n.nid = du.entity_id') \t \t \t \t \t \t - >字段( 'N',陣列( 'NID' )) \t \t \t \t \t \t - >條件( 'vc.field_feed_vehicle_code_value',$ fieldVehicleCode, '=') \t \t \t \t \t \t - >條件( 'du.field_feed_vehicle_date_used',$ fieldDVIRDate, '=') \t \t \t \t \t \t - >條件( 'n.type', 'dvir_utilization_feed', '=') \t \t \t \t \t \t - >執行(); $ num = $ query-> rowCount(); – ImaginedDesign

0

正確的語法,我結束了有錯誤的字段名稱和不得不做db_query,雖然我會有首選的db_select。

$query = db_query('SELECT COUNT(vc.field_feed_vehicle_code_value) 
            FROM {node} n 
            LEFT JOIN {field_data_field_feed_vehicle_code} vc ON n.nid = vc.entity_id 
            LEFT JOIN {field_data_field_feed_vehicle_date_used} du ON n.nid = du.entity_id 
            WHERE vc.field_feed_vehicle_code_value = :utilization 
            AND du.field_feed_vehicle_date_used_value = :utilization_date', 
            array(':utilization' => $fieldVehicleCode, ':utilization_date' => $fieldDVIRDate))->fetchField(); 


      $utilization = $query;