Thinkphp 时间戳 软删除 更新 插入

数据库中得有3个

  • create_time
  • update_time
  • delete_time

且这三个为int 默认NULL

插入数据和修改数据 必须使用save
即使用对象操作。若使用insert 则不可以
create 和save 来实现时间戳

使用SAVE来插入数据:但是save返回值成功1 失败false 无法返回ID

$user = new User();
$user->name = 'thinkphp';
$user->save();
echo $user->create_time; // 输出类似 2016-10-12 14:20:10
echo $user->update_time; // 输出类似 2016-10-12 14:20:10

CREATE 来插入数据,可以返回ID

$userData = [
    'name' => '张三',
    'email' => 'zhangsan@example.com',
];
// 使用 create 方法插入数据

$user = User::create($userData);
echo $user->id;//插入后的ID

更新数据SAVE

#update
$result = User::where('id', $userId)->update($updateData);
$user=User::find($userId);
echo $user->update_time;//UPDATE时间

#save 1
$user=User::find($userId);
$user->name="Tom";
$user->save();
echo $user->update_time;//UPDATE时间

#save 2
$result = User::where('id', $userId)->save($updateData);
$user=User::find($userId);
echo $user->update_time;//UPDATE时间

配置:

<?php
namespace app\portal\model;
use think\facade\Db;
use think\Model;
use app\portal\model\LoanModel;
use think\model\concern\SoftDelete;

class HmModel extends Model
{
    /**
     * 模型名称
     * @var string
     */
    use SoftDelete;
    protected $name = 'hm';
    protected $autoWriteTimestamp=true;
    protected $deleteTime="delete_time";

软删除:必须使用对象操作

$Hm=new HmModel();
$j=$Hm->find(1);
$j->delete();
$j=$Hm->where('xh',11)->select();
$j->delete();

发表回复