我正在尝试为我的数据库创建SKU代码。我需要做的是增加列名division_code
中的最后一个值代码。我列中的最后一个示例代码就是这样的' DIV343'。当我添加新数据时,我需要将最后一个值增加到DIV344,但我在我的专栏中得到的是' 1'。
任何帮助都会表示赞赏。
public function save($data)
{
$data = array(
'division_name' => $data['division_name'],
//'division_code' => $data['division_code'],
'division_acro' => $data['division_acro']
);
$this->db->set('division_code', '`division_code`+ 1', FALSE);
$this->db->insert($this->table, $data);
return $this->db->insert_id();
}
答案 0 :(得分:0)
首先,您必须从字符串中提取整数,然后将1
添加到该字符串。
$number = filter_var($data['division_code'], FILTER_SANITIZE_NUMBER_INT);
它会从343
给您DIV343
。
现在将1
添加到此号码。
$number = $number + 1;
如果所有DIV
都有division_code
前缀,则可以直接使用DIV
,否则您必须从原始$data['division_code']
中提取字符串。
现在你可以使用它:
$this->db->set('division_code', 'DIV'.$number, FALSE);
然后,要提取字符串,
$string = preg_replace('!\d+!', '', $data['division_code']);
现在添加字符串和数字
$final_division_code = $string . $number;
$this->db->set('division_code', $final_division_code, FALSE);