本来在控制器里可以这么写
$model = ArticleModel::detail($article_id);
//隐藏一些安全字段再输出
$detail = $model->hidden(['status','wxapp_id', 'create_time','update_time'])->toArray();但由于前台访问的数据和控制器太多了,都这样写觉得麻烦,想封装个方法。就跑到ArticleModel模型里写了这么个方法
/**
* 返回前台数据,过滤掉一些不该显示的
* @param array $data
* @return bool
*/
public function getApidata(){
$this ->hidden(['status','wxapp_id', 'create_time','update_time']);
return $this;
}然后都这样调用,$model = ArticleModel::detail($article_id);
$detail = $model->getApidata();当然,这肯定是报错的,虽然我也预感要报错。所谓基础不牢,地动山摇,我想问问各位,如果我要实现前台的数据过滤,应该怎么写呢?
当然,不要建议我模块分前后端,因为我环境限制,不可能加减模块了,只能原基础上改造,各位说说该怎么改呢?
最佳答案