转 Yii2模型简介
|-转 Yii2模型简介-字段
字段字段是模型通过调用yii\base\Model::toArray() 生成的数组的单元名。默认情况下,字段名和属性名对应,但是你可以通过覆盖 fields() 和/或 yii\base\Model::extraFields() ...
字段
字段是模型通过调用yii\base\Model::toArray() 生成的数组的单元名。
默认情况下,字段名和属性名对应,但是你可以通过覆盖 fields() 和/或 yii\base\Model::extraFields() 方法来改变这种行为, 两个方法都返回一个字段定义列表,fields()
方法定义的字段是默认字段, 表示toArray()
方法默认会返回这些字段。 extraFields()
方法定义额外可用字段, 通过toArray()
方法指定$expand
参数来返回这些额外可用字段。 例如如下代码会返回fields()
方法定义的所有字段和extraFields()
方法定义的prettyName
and fullAddress
字段。
$array = $model->toArray([], ['prettyName', 'fullAddress']);
可通过覆盖 fields()
来增加、删除、重命名和重定义字段, fields()
方法返回值应为数组, 数组的键为字段名,数组的值为对应的可为属性名或匿名函数返回的字段定义对应的值。 特使情况下,如果字段名和属性定义名相同,可以省略数组键, 例如:
// 明确列出每个字段,特别用于你想确保数据表或模型
// 属性改变不会导致你的字段改变(保证后端的API兼容)。
public function fields()
{
return [
// 字段名和属性名相同
'id',
// 字段名为 "email",对应属性名为 "email_address"
'email' => 'email_address',
// 字段名为 "name", 值通过PHP代码返回
'name' => function () {
return $this->first_name . ' ' . $this->last_name;
},
];
}
// 过滤掉一些字段,特别用于
// 你想继承父类实现并不想用一些敏感字段
public function fields()
{
$fields = parent::fields();
// 去掉一些包含敏感信息的字段
unset($fields['auth_key'], $fields['password_hash'], $fields['password_reset_token']);
return $fields;
}
警告:由于模型的所有属性会被包含在导出数组,最好检查数据确保没包含敏感数据, 如果有敏感数据,应覆盖 fields()
方法过滤掉, 在上述列子中,我们选择过滤掉 auth_key
, password_hash
and password_reset_token
。...
更新于:2018-01-23 00:32:56
相关内容
Yii2模型简介
模型Model是MVC模型中的M,是业务数据、业务规则和业务逻辑的对象。Yii很好的展现了这点,用户可用创...
Yii2模型简介-属性
Yii2模型简介-场景
Yii2模型简介-验证规则
Yii2模型简介-块赋值
Yii2模型简介-非安全属性
Yii2模型简介-数据导出
Yii2模型简介-字段
Yii2模型简介-最佳实践
Yii2行为(Behavior)简介
使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充。 通过将行为绑定到一个类,...
揭秘yii2中行为的方法是如何注入到组件类中去的,应该说行为
Yii2扩展整理
这里整理一些自己实测好用的Yii2扩展 20200406
【坑,勿用】Yii的yii-xunsearch扩展,支持中文的搜索引擎,
简单,易用的yii2导入和导出组件( illusion/yii2-excel)
Yii2小部件Widget
Widgets 小部件kop/yii2-scroll-pager:瀑布滚动翻页 样式不怎么好看,必须点击更多才能加载更多yii2-widget-linkpager...
Yii2 学习内容整理
Yii2片段缓存详解yii2常用表单处理方法php yii2 出现mysql-gone-away-2006解决Yii2 数据操作DAO【翻译】 MySQL中yii2使用...
Yii2片段缓存详解
yii2常用表单处理方法
php yii2 出现mysql-gone-away-2006解决
Yii2 数据操作DAO
【翻译】 MySQL中yii2使用原生sql CURD
一篇为你讲透Yii2的widget
Yii2模块学习
Yii2提交表单提示无法验证
解决Yii2 在线上服务器无法访问GII 和BUG工具栏问题
Yii2 Model的一些常用验证rules规则
关于Yii2控制器的layout属性
yii2如何开启debug工具栏
使用Yii2发送邮件
Yii2多表联结子查询的应用
学习yii2.0——数据缓存、片段缓存、页面缓存、http缓存
Yii2 获取模块名、控制器名、方法名
收发邮件(Mailing) | Yii 2.0 权威指南
Yii2中各种文本框的使用 [ 2.0 版本 ]
Yii Model中rules验证 获取错误信息
Yii2之gii的配置与使用
yii2面包屑Breadcrumbs的使用
推荐内容
怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台...
在网上找的ss+SSTap的方式都不能通过SSTap的链接测试。最后找到了v2ray+SSTap的方式。
注意事项,首先单独有v2ray看能不能正常上网。另外加速时要v2ray和SST...
使用V2Ray的mKCP协议加速游戏
当前脚本已发布新版本,地址:
https://github.com/kuoruan/shell-scripts/raw/master/kcptun/kcptun.sh
旧仓库已废...
v2rayN已停止工作
要安装.NET Framework 4.6 或者更高版本
超省心游戏加速:Wireguard+udp加速(CentOS版)--(
Wireguard+udpspeeder+udp2raw游戏加速方案
---------------------------------------错误报告及解决-----------...
wireguard+udpspeeder+udp2raw多用户配置
Wireguard+udpspeeder+udp2raw游戏加速方案改进版-实测有效
Wireguard+udpspeeder+udp2raw游戏加速方案改进版-实测有效
关于客户端电脑的虚拟网卡配置IP和DNS自动获取