2016-06-23 8 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

関連する問題