继承父类后,将父类的 render()方法重写。
想要调用原本父类的 render()方法。
parent::render();
给类的 public变量赋值
$e = new ParameterException([
'msg' => "",
'code' => "400",
'errorCode' => "10002"
]);
与 是一样的
$e->msg = "";
$e->errorCode = 10002;
ThinkPHP模型操作。
//要使用模型方式 必须要先继承Model
class Banner extends Model
{
//数据表明不是一定要与控制器类名一致,这里是可以自定义的。
protected $table = '表名';//实际上我很好奇,如果是带有前缀的表名怎么办?可以直接用简写么
}
如果要直接return结果,建议直接在配置文件中开启自动转换
json。
1.config.php的 default_return_type 默认返回类型 设置为json就行
thinkphp 命令生成 模型文件
php think make:model api/BannerItem
一个Model类 代表一张表
class Banner {
public function item()
{
return $this->hasMany('表名/另一个Model名','外键','主键/id');
}
调用方式
public function getBanner($id)
{
//with()代表采取哪种关联查询,item是定义好的方法
$banner = BannerModel::with("item")->find();
return $banner;
}
一对一关联
public function img()
{
return $this->belongsTo("表名",'外键','主键');
}
关联嵌套
public function ceshi($id)
{
//with 里面代表 第一个先关联item ,之后再通过item的参数去关联img
$a = BannerModel::with(['item','item.img'])->find($id);
}
模型隐藏字段
public function ceshi1()
{
$a = BannerModel::with("item")->find();
$a->hidden(["字段名",'字段名']);
}
模型只取什么值
public function ceshi2($id)
{
$a = BannerModel::find($id);
$a->visible(["id"]);
}
通常的是写在model里,例
class Banner extends Model
{
protected $hidden = ["要隐藏的字段名"];
//protected $visible = ["要求显示的字段名"];
public function img()
{
return $this->belongsto("关联表名",'本表字段','外键');
}
}