这是我的模型:
function item_attributes_data($id){
$query=$this->db->query("SELECT attributes.attribute_text,item_attributes.attr_value,item_attributes.cost
FROM attributes
INNER JOIN item_attributes
ON attributes.id=item_attributes.attr_id
where item_attributes.item_id=".$id);
return $query->result();
}
这是我的控制器:
function item_attributes()
{
header('Access-Control-Allow-Origin:*');
$id=$this->uri->segment(3);
$this->load->model('orderapp_model');
$query_result=$this->orderapp_model->item_attributes_data($id);
echo json_encode($query_result);
}
我检索数据为
url=localhost/ordertakeadmin/index.php/orderapp/item_attributes/
我得到了JSON数组,如下所示:
options = [{
"attribute_text": "VEHICLE",
"attr_value": "Truck",
"cost": "897.00"
}, {
"attribute_text": "MATERIAL",
"attr_value": "Steel",
"cost": "385.00"
}, {
"attribute_text": "SIZE",
"attr_value": "Medium",
"cost": "254.00"
}]
但是我想将数据构建为
options = [{
attribute_text: "SIZE",
choices: [{
attr_value: "Medium",
cost: 254.00
}, {
attr_value: "Small",
cost: 154.00
}, {
attr_value: "Large",
cost: 280.00
}]
}, {
attribute_text: "MATERIAL",
choices: [{
attr_value: "Steel",
cost: 385.00
}, {
attr_value: "Carbon Fiber",
cost: 285.00
}, ]
}, {
attribute_text: "VEHICLE",
choices: [{
attr_value: "Truck",
cost: 897.00
}, {
attr_value: "Car",
cost: 122.00
}]
}];
这是我的数据库:attribute_text attr_value成本
SIZE大1500.00车辆卡车897.00材料钢385.00尺寸中254.00车辆汽车855.00车辆吉普车875.00材料铅897.00
这怎么可能?
我试图破译您的问题,但我想您想要这样的事情:
function item_attributes_data($id){
// first get your attributes
$query=$this->db->query("SELECT id, attributes.attribute_text FROM attributes");
$attributes = $query->result();
$finalResult = array();
// then get the items for each attribute
foreach($attributes as $attribute) {
// fetch the items
$itemsQuery = $this->db->query("SELECT attr_value, cost FROM item_attributes WHERE attr_id=" . $attribute['id']);
$items = $itemsQuery->result();
$finalResult[] = array( "attribute_text" => $attribute["attribute_text"], "choices" => $items );
}
return $finalResult;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句