我想知道如何从数据库中的字段中减去1 我尝试了以下但它只是将其设置为“-1”,实际上并没有减去它。
<img src='images/upload/'{{$article->image_file}}>
答案 0 :(得分:1)
您的代码在数据库中插入-1
,因为在PHP中,"cases" - 1
的计算结果为-1
。
试试echo ("any_string"-1);
。请阅读String conversion to numbers了解详情。
在CodeIgniter中,您不能使用您直接使用的函数$this->db->update
的格式来实现此查询,因为update
函数会转义传递给它的所有值。
但是,您可以使用以下代码来实现相同的功能。
//Passing false as third parameter turns off escaping
$this->db->set('cases', 'cases - 1', false);
$this->db->where('id', $id); //Your where condition
$this->db->update('listings');
或者,您可以手动编写查询并使用query
函数。
$sql = "UPDATE `listings` SET `cases` = `cases` - 1 WHERE [your where condition]";
$this->db->query($sql);
答案 1 :(得分:1)
$this->db->set('cases','`cases`-1',FALSE);
$this->db->where('id', $id);/*whatever condition you want*/
$this->db->update('yourtablename');
这里有来自codeigniter用户指南的链接: https://codeigniter.com/user_guide/database/query_builder.html