2016-06-23 2 views
0

자동으로 필드 값을 쉽게 트리밍 할 수 있습니까? EntityFieldQuery는 조건부 필드에서 자동 트리밍을 수행 할 수 있습니까?

$query = new EntityFieldQuery(); 

$query->entityCondition('entity_type', 'node') 
    ->entityCondition('bundle', 'article') 
    ->propertyCondition('status', NODE_PUBLISHED) 
    ->fieldCondition('field_news_types', 'value', 'spotlight', '=') 
    // See the comment about != NULL above. 
    ->fieldCondition('field_photo', 'fid', 'NULL', '!=') 
    ->fieldCondition('field_faculty_tag', 'tid', $value) 
    ->fieldCondition('field_news_publishdate', 'value', $year . '%', 'like') 
    ->fieldOrderBy('field_photo', 'fid', 'DESC') 
    ->range(0, 10) 
    ->addMetaData('account', user_load(1)); // Run the query as user 1. 

$result = $query->execute(); 

나는 쿼리하기 전에 트림 무엇을 원하는 경우, field_news_types 예를 들어, 텍스트 필드가 할 수 가져 가라. 사용할 매크로 매개 변수가 있습니까? 따라서 "spotlight "도 일치합니까? 당신이 like 상태로 전환 할 수 있습니다 부분 문자열 일치를 (해야 할 경우

... 
->fieldCondition('field_news_types', 'value', trim($news_type), '=') 
... 

:

답변

0

당신은 정말 그냥 공백을 트리밍 찾고 있다면, 당신은 단순히 PHP의 trim()을 통해 테스트 값을 전달할 수 있습니다 당신은 이미 그 예를 가지고 있습니다) :

->fieldCondition('field_news_publishdate', 'value', $year . '%', 'like') 
+0

나는 그 점을 놓쳤다 고 생각합니다. 나는 그것을 찾을 수 있도록 데이터베이스 필드의 값을 자르고 싶습니다. – Hao

+0

Drupal API를 통해 이렇게하려면 위에서 나열한 부분 문자열 일치 (LIKE)를 사용해야한다고 생각합니다. – acrosman

관련 문제