Closed netmou closed 1 month ago
经过多方搜索发现
$receiver->where('email_id', $id)->delete(); // 删除不了 $receiver->where('email_id', $id)->find()->delete(); //好使 哪位大佬能解释下吗,这不是妥妥的坑吗
补充下模型基类
class BaseModel extends Model
{
/**
* 自动时间戳类型
* @var string
*/
protected $autoWriteTimestamp = true;
/**
* 添加时间
* @var string
*/
protected $createTime = 'create_time';
/**
* 更新时间
* @var string
*/
protected $updateTime = 'update_time';
/**
* 软删除
*/
use SoftDelete;
protected $deleteTime = false;
}
为什么用软删除,然后又把deleteTime
设置为 false
基类是false,下面子类看情况开启 protected $deleteTime = "delete_time";
经过多方搜索发现
$receiver->where('email_id', $id)->delete(); // 删除不了 $receiver->where('email_id', $id)->find()->delete(); //好使 哪位大佬能解释下吗,这不是妥妥的坑吗
看官网文档。软删除实现是重写了模型的delete的方法,必须调用模型的方法才可以,where相当于调用的数据库的方法,所以不行
$receiver->where(...) $receiver是模型实例 你告诉我where不是他的方法,但能调用,从字面上看感觉很绕,一不注意就是大坑
控制器
$receiver->where('email_id', $id)->delete();
怎么也删除不了Originally posted by @netmou in https://github.com/top-think/framework/issues/2653#issuecomment-2252198289