Cake 3.x中Class TypeMap使用的可接受类型是什么?

时间:2016-03-13 17:08:37

标签: cakephp cakephp-3.0

情况

使用cake 3.2.4

使用方法addDefaults()设置类型decimal。想知道以下内容:

  1. 我可以设置哪些其他类型?
  2. 在方法addDefaults()
  3. 中设置小数时,可以设置精度和比例

    促使这种想法的代码

           $this->paginate['fields'] = [
                'id', 'title', 
                'start' => 'start_date', 
                'end' => 'end_date', 
                'revenue', 
                'costs' => 'total_costs', 'collections'
            ];
            $paginationQuery  = $event->subject()->query;
    
            $paginationQuery
            ->selectTypeMap()
            ->addDefaults([
                'start' => 'datetime',
                'end' => 'datetime',
                'costs' => 'decimal'
            ]);
    

    我尝试了什么

    我尝试过研究文档

    http://api.cakephp.org/3.2/class-Cake.Database.TypeMap.html#_addDefaults

    以及班级本身http://api.cakephp.org/3.2/source-class-Cake.Database.TypeMap.html#17-149

    无济于事。

1 个答案:

答案 0 :(得分:0)

  

我可以设置哪些其他类型?

可在烹饪书中找到可用的类型

<强> Cookbook > Database Access & ORM > Database Basics > Data Types

并在源

  

可以在方法addDefaults()

中设置十进制时设置精度和比例

正如评论中所提到的,PHP吞下零小数,这就是它的工作原理,如果你想“保留”它们,那么你应该在输出时格式化数字。

<强> Cookbook > Number > Formatting Numbers