tp中$model与$this的不同
在thinkphp框架中,$model和$this指代不同的对象,这一点至关重要。
$model
$this
立即学习“PHP免费学习笔记(深入)”;
- $this指代调用当前方法的对象。
- 它不一定指向与$model相同的对象。
- $this通常用于访问当前模型或控制器的属性和方法。
不同之处
- 对象类型:$model是基类模型的对象,而$this可以是任何对象,例如模型或控制器对象。
- 继承关系:$model和$this可能处于同一继承链中,但不必如此。
- 方法调用:如果$model和$this处于同一继承链中,则$this可以调用$model的方法。
基于这些区别,$this无法直接执行$model的删除方法,因为$this可能不是基类模型的对象。
要进行删除操作,需要明确指定要操作的模型,例如:
$model = d('user'); // 实例化用户模型 $model->delete($id); // 执行删除操作
或者通过$this链式调用,前提是$this指向用户模型:
$this->delete($id); // 执行删除操作