Thinkphp5.1&模型用法

 

继承父类后,将父类的 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("关联表名",'本表字段','外键');
    }


}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值