实例字段的一些用法,官网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/