Има ли лесен начин автоматично да изрежете стойността на полето?
$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 "
също ще съвпадат?
Отговори:
0 за отговор № 1Ако наистина искате да отрежете простото пространство, можете просто да преминете тестваната стойност чрез PHP trim()
:
...
->fieldCondition("field_news_types", "value", trim($news_type), "=")
...
Ако трябва да направите частично съвпадение на низ, можете да превключите към a like
условие (за което вече имате пример):
->fieldCondition("field_news_publishdate", "value", $year . "%", "like")