gpt4 book ai didi

php - 为批量更新提交的一个或多个行缺少指定的索引。 (代码点火器)

转载 作者:行者123 更新时间:2023-11-30 23:08:02 25 4
gpt4 key购买 nike

我正在对我的模型使用 Update_batch,它给了我以下错误

为批量更新提交的一个或多个行缺少指定的索引。

以下是我的模型:

function approvedHrs($id,$taskid,$update_data)
{
// $where=array('id','taskid');
$this->db->where('id', $id);
$this->db->where('taskid', $taskid);
$this->db->update_batch('MILESTONE', $update_data,'approvedhrs');
}

以下是我的 Controller :-

function approvedHrs($editid,$taskid)
{
if ($this->session->userdata('logged_in')){
$session_data = $this->session->userdata('logged_in');
$id = $session_data['id'];
$username = $session_data['username'];
$is_master_admin = $session_data['master'];
$imagethumb = $session_data['imagethumb'];
$pendingbug = $this->bugmodel->getBug($id, $is_master_admin);
$pendingtask = $this->taskmodel->getTask($id, $is_master_admin);

$post = $this->input->post();
$data['approvedhrs'] = $post['approvedhrs'];
$data['approvedmins'] = $post['approvedmins'];
$darpan=count($data['approvedhrs']);

for($i=0;$i<$darpan;$i++)
{
$update_data['approvedhrs'] = $data['approvedhrs'][$i];
$update_data['approvedmins'] = $data['approvedmins'][$i];
//$taskid = $data['taskid'][$i];
$result = $this->milestonemodel->approvedHrs($editid,$taskid,$update_data);
unset($update_data);
unset($taskid);
}

redirect('task', 'refresh');
}
else
{
redirect('login', 'refresh');
}
}

我该如何解决这个问题??

最佳答案

位于文件/system/database/DB_query_builder.php 中的_update_batch 函数有一个错误:

$index_escaped = $this->protect_identifiers($index);

$ids = array();
foreach ($values as $key => $val)
{
$ids[] = $val[$index];

foreach (array_keys($val) as $field)
{
if ($field !== $index)
{
$final[$field][] = 'WHEN '.$index_escaped.' = '.$val[$index].' THEN '.$val[$field];
}
}
}

用 $index_escaped 替换变量 $index:

$index_escaped = $this->protect_identifiers($index);

$ids = array();
foreach ($values as $key => $val)
{
$ids[] = $val[$index_escaped];

foreach (array_keys($val) as $field)
{
if ($field !== $index_escaped)
{
$final[$field][] = 'WHEN '.$index_escaped.' = '.$val[$index_escaped].' THEN '.$val[$field];
}
}
}

关于php - 为批量更新提交的一个或多个行缺少指定的索引。 (代码点火器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20994164/

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