关于在tp5模型层中使用闭包更新数据的问题

浏览:1574 发布日期:2017/12/10 分类:求助交流 关键字: TP5 模型层 Model 闭包
$where = $where ? $where : [$this->pk=>$data[$this->pk]];
$rs = $this->isUpdate(true)->allowField(true)->save($data,function ($query)use($where){
$query->where($where);
});

我在模型层中有一段这样的代码,如果要组合复杂的查询条件,那么使用闭包进行更新,默认的更新条件是根据主键值更新,为什么只要我post数据中有主键,那么Model.php中的:
if (is_string($pk) && isset($data[$pk])) {
if (!isset($where[$pk])) {
unset($where);
$where[$pk] = $data[$pk];
}
unset($data[$pk]);
}
$where就会变成object,然后$where[$pk]就报错,是我理解错了???
最佳答案
评论( 相关
后面还有条评论,点击查看>>