牛骨文教育服务平台(让学习变的简单)
博文笔记

yii2 model fields使用说明

创建时间:2015-11-16 投稿人: 浏览次数:153

原文转自  IT技术擎

有的时候我们想对用户提交的数据进行二次处理。这个时候我们就需要用到model层里面的fields这个方法了
    public function fields()
    {

        if (Yii::$app->getRequest()->getIsPost()) {//只有post的时候才处理字段数据  其他的时候按原来的数据来处理
            return ["region_name" => function ()
            {
                $post = Yii::$app->getRequest()->post();
                return "techqing_".$post["Region"]["region_name"] ;
            }
            , "pingyin" => function ()
            {
                $post = Yii::$app->getRequest()->post();
                return  "py_".$post["Region"]["pid"];
            }
            , ];
        } else {
            return parent::fields();
        }

    }

以上的代码表示在 当用户post提交数据的时候才会执行fields里面的操作。
操作的时候 就会处理两个字段
region_name  字段前面添加了techqing_  前缀
pingyin  字段前面添加了py_  前缀

这样模型层调用 toArray()方法
$model->toArray();
如果代码是
$pdata = $model->toArray();
        print_r($pdata);
则会打印如下的内容
Array(    [region_name] => techqing_area_name    [pinyin] => pinyin_123)
还可以进去 其他的特殊的处理。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。