/**
* 取回一个相关数组,第一个字段值为码,第二个字段为值
* @param int $field 要寻找的两个字段
* @param array $where 查询条件
* @return array
*/
public function fetchPairs($field , $where = array())
{
$where['terminalId'] = get_terminalId();
$results = $this->findAll($where,$field);
$data = array();
if(is_array($results) && count($results) > 0) {
foreach ($results AS $value) {
$data[$value[$field[0]]] = $value[$field[1]];
}
return $data;
} else {
return false;
}
}
/**
* 获取二维数组中的某个键值,并键值唯一
* @param array $input 二维数组
* @param string $columnKey 数组的键
* @param string $indexKey 数组的索引
+----------------------------------------------------------
* @return array 返回的值
+----------------------------------------------------------
*/
function array_column_unique(array $input, $columnKey, $indexKey = null) {
return array_unique(array_column($input, $columnKey, $indexKey));
}
调用方法
protected function _format($list){
//获取招生专业信息
$specIds = array_column_unique($list,"specId");
count($specIds) && $specData = D('Huaqin/Specialty')->fetchPairs(array('id', 'ZYMC'), array( "id"=>array("in", $specIds)));
//学制数据
$xuezhiIds = array_column_unique($list, "XZ");
count($xuezhiIds) && $xuezhiData = D('Huaqin/Xuezi')->fetchPairs(array('id', 'XZMC'), array("id"=>array("in", $xuezhiIds)));
foreach( $list as &$value ){
$value['ZYMC'] = $specData[ $value['specId']];
$value['XZMC'] = $xuezhiData[ $value['XZ']];
}
return $list;
}
/**
* 取回一个相关数组,第一个字段值为码,第二个字段为值
* @param array $field 要寻找的两个字段array('字段1','字段2')
* @param array $where 查询条件
* @return array
*/
public function fetchPairs($field , $where = array())
{
$where['terminalId'] = get_terminalId();
$results = $this->findAll($where,$field);
$data = array();
if(is_array($results) && count($results) > 0) {
foreach ($results AS $value) {
$data[$value[$field[0]]] = $value[$field[1]];
}
return $data;
} else {
return false;
}
}