gpt4 book ai didi

php - 在 CodeIgniter 中使用 foreach 更新表

转载 作者:行者123 更新时间:2023-11-30 00:42:46 25 4
gpt4 key购买 nike

我有一个具有此功能的模型

function dummy_system(){
$this->db->select('SKU, size, color')
->from('order_detail')
->where('order_id',"52F4CC00C32");

$query = $this->db->get();

// 2nd query
foreach($query->result() as $row):
$SKU = $row->SKU;
$size = $row->size;
$color = $row->color;

$this->db->select('stock_quantity')
->from('item_stock')
->join('items','items.stock_id = item_stock.stock_id')
->join('item','item.item_id = items.item_id')
->where('item.SKU',$SKU)
->where('item_stock.size',$size)
->where('item_stock.colour',$color);

$query = $this->db->get();
endforeach;

if($query->num_rows() > 0){
return $query->result();
}
else{
return array();
}
}

这个 Controller

public function index()
{
$this->load->model('nekogear');
$data['dummy'] = $this->nekogear->dummy_system();

echo "<pre>";
die(print_r($data, TRUE));
}

这是仅显示最后一个查询的结果。

Array
(
[dummy] => Array
(
[0] => stdClass Object
(
[stock_quantity] => 5
)

)

)
<小时/>

我的问题是如何在模型中执行 foreach 循环以获取具有一个 order_id 的所有查询结果? (当前order_id有两行具有相同的order_id)使用此代码(我需要在下一个查询中输入 SKU、尺寸和颜色值)

$this->db->select('SKU, size, color')
->from('order_detail')
->where('order_id',"52F4CC00C32");

$query = $this->db->get();

if($query->num_rows() > 0){
return $query->result();
}
else{
return array();
}

它可以获取结果

Array
(
[dummy] => Array
(
[0] => stdClass Object
(
[SKU] => Nisekoi-01
[size] => L
[color] => Biru
)

[1] => stdClass Object
(
[SKU] => Wooser-01
[size] => XL
[color] => Kuning
)

)

)
<小时/>

考虑到这一点,我认为问题出在我的模型内的 foreach 循环中,我不知道如何解决这个问题。

感谢您的宝贵时间,并对我的英语不好表示歉意。

最佳答案

您可以构建一个数组并循环遍历它来获取股票:

$this->db->select('SKU, size, color')
->from('order_detail')
->where('order_id',"52F4CC00C32");

$query = $this->db->get();
$skus = array();
foreach($query->result() as $row):
$skus[$row->SKU] = array('sku' => $row->SKU, 'size' = $row->size, 'color' = $row->color);
endforeach;

$return = array();

foreach($skus as $sku => $data):
$SKU = $data['sku'];
$size = $data['size'];
$color = $data['color'];

// same query

$return[] = $query->result();
endforeach:

return $return;

关于php - 在 CodeIgniter 中使用 foreach 更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21636702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com