state(); if ($cate) { foreach ($cate as $k => $v) { $cate[$k]['child'] = Dever::db('attr/info')->state(array('cate_id' => $v['id'])); } } $cate['state'] = 1; return $cate; } /** * 获取属性详细信息,有类别 * * @return mixed */ public function getInfo($ids, $value) { $result = array(); if ($ids) { $where['ids'] = $ids; $cate = Dever::db('attr/cate')->state(); $data = Dever::db('attr/info')->getAllByIds($where); $ids = explode(',', $ids); $value = explode(',', $value); if ($data) { foreach ($ids as $k => $v) { if (isset($data[$v])) { $cate_id = $data[$v]['cate_id']; if (!isset($result[$cate_id])) { $result[$cate_id] = array ( 'name' => $cate[$cate_id]['name'], 'id' => $cate_id ); } $result[$cate_id]['attr'][$v] = array ( 'name' => $data[$v]['name'], 'value' => $value[$k], 'id' => $v ); } } } } return $result; } /** * 获取属性的值,无类别 * * @return mixed */ public function getValue($ids, $value) { $result = array(); if ($ids) { $where['ids'] = $ids; $data = Dever::db('attr/info')->getAllByIds($where); $ids = explode(',', $ids); $value = explode(',', $value); if ($data) { foreach ($ids as $k => $v) { if (isset($data[$v])) { $result[$v] = $data[$v]; if (isset($value) && $value[$k]) { $result[$v]['value'] = $value[$k]; } else { $result[$v]['value'] = ''; } } } } } return $result; } /** * 获取属性的值,无类别 * * @return mixed */ public function string($ids, $value) { $result = $this->getInfo($ids, $value); $table = array(); foreach ($result as $k => $v) { $table[$v['name']] = ''; foreach ($v['attr'] as $k1 => $v1) { $table[$v['name']] .= $v1['name'] . "  "; } } return Dever::table($table); } }