實例字段的一些用法,官網API如下:
https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers
如何刪除字段中包含多值的某一項時的操作:
unset($wrapper->field_foobar[$delta]);
$wrapper->save();
To find the delta, you can iterate over the collection and look for the node id:
爲了找到其中的詳項,可以通過ID來查找集合中的數據:
foreach($wrapper->field_foobar as $delta => $item) {
if ($item->nid->value() == $my_id) {
unset($wrapper->field_foobar[$delta]);
$wrapper->save();
break;
}
}
實例 :
$ppc_delete=entity_metadata_wrapper('node',$ppc_father_data); foreach($ppc_delete->field_comber as $delta=>$item){ if($item->value()==$node->nid){ unset($ppc_delete->field_comber[$delta]); $ppc_delete->save(); break; } }
DB_select 中的一些表達式的用法:
$query->addExpression("DATE_FORMAT(fdate.field_warehousereturndate_value,'%Y-%m')",'returndate');
$query->addExpression('sum(fequ.field_warehouseequalnumber_value)','equal');
$query->where("DATE_FORMAT(fdate.field_warehousereturndate_value,'%Y-%m')=:date",array(':date'=>$date));
如何在Views_get_view中設置上下文篩選,有幾個就設置幾個。
$arg=array($printdate,trim($storageno));
$views=views_get_view("warehouseshow");
$views->set_display("block_1");
$views->set_arguments($arg);
$views->is_cacheable=FALSE;
$views->execute();
$result=$views->result;
如何在Views中設置distinct,有二種方法,一是在Query setting 中設置,二是在Aggregation 中設置,具體請參考網頁:
https://www.ostraining.com/blog/drupal/duplicate-views-results/