codeigniter中的update_batch [英] update_batch in codeigniter
问题描述
这是我用来更新所有行的代码,该行使用了update_batch函数,但无法正常工作
Here is my code that i used to update all the rows that am getting for that i used update_batch function but its not working properly
public function edit_project_involved($users)
{
foreach ($users as $v_user) {
$data=array('involved'=>1);
$v=$this->db->where('user_id',$v_user);
$query=$this->db->update_batch('tbl_users',$data,$v);
}
if($query)
{
return true;
}
}
我的$ users var_dump看起来像这样
my $users var_dump looks like this
C:\wamp64\www\spectra\application\models\Project_model.php:536:
array (size=3)
0 => string '40' (length=2)
1 => string '42' (length=2)
2 => string '37' (length=2)
am遇到这样的错误
One or more rows submitted for batch updating is missing the specified index.
文件名:C:/wamp64/www/spectra/system/database/DB_query_builder.php
Filename: C:/wamp64/www/spectra/system/database/DB_query_builder.php
行号:2010
我的桌子如下
user_id username involved
1 admin 0
36 siraj 0
37 faizal 0
38 nesru 0
40 jaseer 0
42 maltu 0
43 shahul 0
44 samsheera 0
var_dump( $ data)看起来像这样
var_dump($data) looks like this
C:\wamp64\www\spectra\application\models\Project_model.php:544:
array (size=3)
0 =>
array (size=2)
'user_id' => string '40' (length=2)
'involved' => int 1
1 =>
array (size=2)
'user_id' => string '42' (length=2)
'involved' => int 1
2 =>
array (size=2)
'user_id' => string '37' (length=2)
'involved' => int 1
推荐答案
您未遵循文档中提到的规则< a href = https://www.codeigniter.com/user_guide/database/query_builder.html rel = nofollow noreferrer> https://www.codeigniter.com/user_guide/database/query_builder.html
You not followed the rules mentioned in documentation https://www.codeigniter.com/user_guide/database/query_builder.html
尝试一下(在循环外注意 update_batch
以及数组的制作方式)
Try this (notice update_batch
outside of loop and how the array made)
foreach ($users as $v_user) {
$data[] = array(
'user_id' => $v_user,
'involved'=> 1
);
}
$query = $this->db->update_batch('tbl_users',$data,'user_id');
这篇关于codeigniter中的update_batch的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!