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();