2017-11-23 6 views
0

나는 다음과 같은 원시 SQL이 있습니다오류로 가입

SELECT node.title AS node_title, node.nid AS nid, node.created AS node_created, 'node' AS field_data_body_node_entity_type 
    FROM 
    {node} node 
    LEFT JOIN {field_data_commerce_node_checkout_node} field_data_commerce_node_checkout_node ON node.nid = field_data_commerce_node_checkout_node.commerce_node_checkout_node_target_id AND (field_data_commerce_node_checkout_node.entity_type = 'commerce_line_item' AND field_data_commerce_node_checkout_node.deleted = '0') 
    LEFT JOIN {commerce_line_item} commerce_node_checkout_node_node ON field_data_commerce_node_checkout_node.entity_id = commerce_node_checkout_node_node.line_item_id 
    WHERE (((node.status = '1') AND (node.type IN ('myproducts')))) 
    LIMIT 5 OFFSET 0 

을 나는 ...

내가 드루팔 상거래에 몸 필드와 사용자 제품의 목록이 쿼리를 추가 할 필요가 모듈이

이것이 $ query에 추가 된 것입니다.

$query = db_select('{node}', 'node'); 
    $query->fields('node', array('title', 'nid', 'created')); 
    $query->leftJoin('{field_data_commerce_node_checkout_node}', 'field_data_commerce_node_checkout_node', 'node.nid = field_data_commerce_node_checkout_node.commerce_node_checkout_node_target_id AND (field_data_commerce_node_checkout_node.entity_type = 'commerce_line_item' AND field_data_commerce_node_checkout_node.deleted = '0')'); 
    $query->leftJoin('{commerce_line_item}', 'commerce_node_checkout_node_node', 'field_data_commerce_node_checkout_node.entity_id = commerce_node_checkout_node_node.line_item_id'); 
    $query->condition('node.status', 1); 
    $query->condition('node.type', array(myproducts), 'IN'); 
    $query->range(0, 5); 
    $result = $query->execute(); 

오류없이 코드를 작성하려면 어떻게합니까?

답변

0

일부 구문 오류가 있습니다. 나는 그 (것)들을 해결하고 진실한 방법에있는 당신의 질문을 다시 쓴다. 그것을 확인하고 그 결과

내가 db_select documentation에서 살펴 본다 제안하고 강하게 문제의 쓰기 오류가 더 나은 답변을 dadash 얻을 수 추천에 대해 나에게 알려

$query = db_select('node', 'n'); 
$query->fields('n', array('title', 'nid', 'created')); 
$query->leftJoin('field_data_commerce_node_checkout_node', 'fcn', 'n.nid = fcn.commerce_node_checkout_node_target_id'); 
$query->leftJoin('commerce_line_item', 'cli', 'fcn.entity_id = cli.line_item_id'); 
$query->condition('fcn.entity_type', 'commerce_line_item'); 
$query->condition('fcn.deleted', 0); 
$query->condition('n.status', 1); 
$query->condition('n.type', array($myproducts), 'IN'); 
$query->range(0, 5); 
$result = $query->execute();