• ThinkPHP第十五天(setField、setInc、setDec、关联模型)


    1、ThinkPHP中的比较特殊连贯操作

      如果要更新某个字段可以用setField方法,比如M('user')->where('id=1')->setField('username','ThinkPHP');这样子就只更新了username字段

      如果要对某个字段增加或者减少某个数值,可以用 setInc(字段名,增加数值默认为1),setDec(字段名,减少数值默认为1);M('user')->where('id=1')->setInc('level',5);

    2、不用where删除数据

      $User->delete('1,2,5'); // 删除主键为1,2和5的用户数据。

    3、关联模型一个简单实例:

    Class BlogRelationModel extends RelationModel{
        protected $tableName = 'blog';//由于模型名称不是默认表名,此处需定义$tableName指定表名
        protected $_link = array(//此处定义关联模型
            'cate'=>array(    //关联1 与category表进行关联
                'mapping_type'=>BELONGS_TO,//指定关联方式
                'mapping_name'=>'category',//关联映射名称 在控制器读取时显示的数组键名 也是relation('category')引用的名称
                'class_name'=>'Category',//关联的模型名称,即关联表名称。
                'foreign_key'=>'cid',//外键名称
                'mapping_fields'=>'name',//读取字段列表
                'as_fields'=>'name:categoryname',//设定这个参数后,在读取时候不是显示cagegory数组了,而是一个categoryname项
            ),     
            'attr'=>array(
                'mapping_type'=>MANY_TO_MANY,//关联方式
                'class_name'=>'Attribute',//关联模型类即表名
                'mapping_name'=>'attribute',//控制器端显示名称
                'foreign_key'=>'bid',//在中间表中的主表外键
                'relation_foreign_key'=>'aid',//在中间表中的从表外键
                'relation_table'=>'blog_attribute',//名称中间表
                'mapping_order'=>'aid desc'//中间表数据排序方式  
            ),
        );   
    }

    在控制器端调用关联模型类如下:

    $blog = D('BlogRelation')->where('del = 0')->field('del',true)->relation(true)->select();
  • 相关阅读:
    mysql 函数
    flanneld和calico
    k8s1.20.5
    pre
    docker与K8S源远
    Form Trigger Sequence Demo Form
    消息中间件RabbitMQ
    asp.net mvc4压缩混淆JavaScript
    C# 基础语法
    APP测试 理论总结
  • 原文地址:https://www.cnblogs.com/huilange/p/3391398.html
Copyright © 2020-2023  润新知