tp6模型查询时,如何自动过滤一些数据表字段,例如delete_time。
首先创建一个基础类模型
<?php
namespace app\common\base;
use think\model;
abstract class BaseModel extends model
{
// 忽略的字段
protected $hidden = ['create_time','update_time', 'delete_time'];
}
设置里面的 $hidden 变量,要为数组。
后面的任何子级模型继承这个基础类模型就可以了。
<?php
namespace app\common\model;
use app\common\base\BaseModel;
class Product extends BaseModel
{
protected $name = 'product';
// 获取未下架产品
public function getProductList()
{
return $this->where('status','<','3')
->alias('a')
->leftJoin('product_sales b','a.product_id = b.product_id')
->select()->toArray();
}
}
例如这个简单的查询,在 $this->select()->toArray() 之后,就会自动把 $hidden 里面的字段省略。
======================================================================================================
+++++++++++++++++++++++++++++++++++++++++++广告分割线+++++++++++++++++++++++++++++++++++++++++++++++++++
======================================================================================================