问题描述
我很困惑...
此函数运行正常,不会引发任何错误...但是它不会更新表中的行。
我哪里出错了?
控制器:
public function update()
{
$model = new StoreModel();
$model->where('merchant','Klip Shop')->set('availability','out of stock')->update();
}
型号:
class StoreModel extends Model
{
protected $table = 'shop';
}
解决方法
由于$model->where('merchant','Klip Shop')->get()
不返回任何内容,这意味着您没有任何可更新的数据。
您需要先插入一行。
- 如果未检测到行,则可以使用insert()函数 商户名称
或
- CI 4.x中存在save()函数,该函数可以插入或 重复更新。但是要使其正常工作,您需要设置 商家使用唯一键或使用带有唯一键的列
编辑:您实际上也让我感到困惑:
直到现在,我才对您的MCV代码进行了分析:
您应该有一个控制器
public function update()
{
$model = new StoreModel();
$model->update();
}
和模型:
class StoreModel extends Model
{
$db = \Config\Database::connect();
$model= $db->table('shop');
function update(){
$model->where('merchant','Klip Shop')->set('availability','out of stock')->update();
}
}
,
这是该模型的chat.type = 'supergroup'
问题,因此“不允许”进行任何更新。