老莫的笔记本  
  
查看: 1128|回复: 0

TP5 自动完成功能

[复制链接]

662

主题

878

帖子

5139

积分

超级版主

Rank: 8Rank: 8

积分
5139
发表于 2018-8-14 23:45:25 | 显示全部楼层 |阅读模式
本帖最后由 周大胖子 于 2018-8-15 07:17 编辑

【等会 我暂时还没想出来什么场景用最合适 因为设置该值的时候,动态赋值就失效了】
1.$insert = ['字段'=>'值',------] ;  // 新增时自动插入到表中的
2.$update = ['字段'=>‘值’,---] ; //更新时自动更新字段值
3.$auto =  ['字段'=>‘值’,---] ;  //新增或更新时自动填入或更新字段值
通常要与类型自动转换属性:  $type = ['字段'=>'类型',----]相配合

Staff.php
  1.     // 保存自动完成列表
  2.     protected $auto = [
  3.         'age' => 36,
  4.     ];
  5.     // // 新增自动完成列表
  6.     // protected $insert = [
  7.     //     'age'=>18,    // 添加时默认年龄是18
  8.     // ];
  9.     // // 更新自动完成列表
  10.     // protected $update = [
  11.     //     'gongzi'=>2500
  12.     // ];
复制代码

controllder/Dcm.php
  1. <?php
  2. namespace app\articles\controller;
  3. use app\articles\model\Staff;  //先引入 staff 类;
  4. header("Content-type: text/html; charset=utf-8");
  5. // 自动时间戳功能
  6. // 1.模型中开启该功能: protected $autoWriteTimestamp=true;
  7. //  
  8. // 2.表中手动创建两个字段:create_time ,update_time;
  9. // 3.用户执行新增与更新操作时,会自动将新增与更新写入表中
  10. // 4.默认以时间戳格式进行写入,可以配置为:datatime 格式
  11. // 自动完成功能
  12. class Dcm
  13. {
  14.     public function mn1()
  15.     {
  16.         return '进来了    }
  17.     // 先添加
  18.     public function mn2()
  19.     {
  20.         $lma = Staff::create($data=[
  21.             'name'=>'张婷',
  22.             'age'=>'29',
  23.             'juese'=>'市场部',
  24.             'gongzi'=>3500,
  25.         ]);
  26.         dump($lma->getData());
  27.     }
  28.     // 改动
  29.     public function mn3()
  30.     {
  31.         $data = [
  32.             'gongzi'=>5001,
  33.             'age'=>32
  34.         ];
  35.         $where =[
  36.             'id'=>33
  37.         ];
  38.         $lma = Staff::update($data,$where);
  39.         
  40.         dump($lma->getData());
  41.         
  42.       
  43.     }
  44.     // 添加时有默认年龄  【在里面传入的时候 是不能更改默认的值的】
  45.     public function mn4()
  46.     {
  47.         $data=[
  48.             'name'=>'周小胖子',
  49.             'juese'=>'研发部',
  50.             'age'=>19     // 这句话是无效的,因为设置了所以不能更改
  51.         ];
  52.         $lma =Staff::create($data);
  53.         dump($lma->getData());
  54.     }
  55.     // 这是更新时。默认更新掉一个值  atuo 没有单独试 这两个都会触发
  56.     public function mn5()
  57.     {
  58.         $data=[
  59.             'name'=>'周巨胖子',
  60.             'gongzi'=>'3500' ,        // 这句话一样 也没啥卵用 更新时不给改
  61.         ];
  62.         $where=[
  63.             'id'=>35
  64.         ];
  65.         $lma =Staff::update($data,$where);
  66.         dump($lma->getData());
  67.     }
  68. }
复制代码








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表