PHP yii实现model添加默认值的方法(两种方法)
yii实现model添加默认值的方法(2种方法)
这篇文章主要介绍了yii实现model添加默认值的方法,结合实例分析了在rules()方法及在beforeSave()方法中设定两种实现技巧,对大家也许有帮助,
本文实例讲述了yii实现model添加默认值的方法。分享给大家供大家参考,具体如下:
yii model 继承自CActiveRecord
有些字段可能不会出现在表单中,而需要在程序中加入。如订单编号,时间戳,操作的user_id等等。
以下二种方法:
1、在rules()方法中设定:
public function rules() { // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( array('start, end', 'required'), array('user_id', 'numerical', 'integerOnly'=>true), array('timestamp','default','value'=>date('Y-m-d H:i:s')), // The following rule is used by search(). // Please remove those attributes that should not be searched. array('id, start, end, user_id, timestamp', 'safe', 'on'=>'search'), ); }
2、在beforeSave()方法中设定:
function beforeSave() { $this->user_id = Yii::app()->user->id; return true; }
需要注意的是,beforeSave()方法需要return true,否则不会保存。
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
相关推荐
-
PHP的Yii框架中Model模型的学习教程
模型是 MVC 模式中的一部分, 是代表业务数据.规则和逻辑的对象. 模型是 CModel 或其子类的实例.模型用于保持数据以及与其相关的业务逻辑. 模型是单独的数据对象.它可以是数据表中的一行,或者一个用户输入的表单. 数据对象的每个字段对应模型中的一个属性.每个属性有一个标签(label), 并且可以通过一系列规则进行验证. Yii 实现了两种类型的模型:表单模型和 Active Record.二者均继承于相同的基类 CModel. 表单模型是 CFormModel 的实例.表单模型用于保持
-
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
YII的models中的rules部分是一些表单的验证规则,对于表单验证十分有用,在相应的视图(views)里面添加了表单,在表单被提交之前程序都会自动先来这里面的规则里验证,只有通过对其有效的限制规则后才能被提交,可以很有效地保证表单安全和信息的有效性.还是给大家具体说明一下: 以下是视图(views)部分的简单代码: <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'tag-form', 'enableAjaxVa
-
Yii中使用PHPExcel导出Excel的方法
本文实例讲述了Yii中使用PHPExcel导出Excel的方法.分享给大家供大家参考.具体分析如下: 最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法. 1.首先在cofig/main.php中添加对PHPExcel的引用,我的方法是这样,代码如下: 复制代码 代码如下: // autoloading model and component classes 'import'=>array( /*'application.modu
-
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
本文实例讲述了yiic命令时提示"php.exe"不是内部或外部命令的解决方法,分享给大家供大家参考.具体方法如下: 在CMD中运行 yiic webapp work 如果报"php.exe"不是内部命令,是这样的:原因是Yii自带的yiic.bat找不到php.exe. 解决方法: 因为没有加入环境变量,所以无法直接执行php.exe. 右击"我的电脑->属性->高级->环境变量->系统变量->PATH->编辑&quo
-
详细解读PHP的Yii框架中登陆功能的实现
Yii的登陆机制 Yii 生成应用时已经提供了最基础的用户登陆机制.我们用 Yii 生成一个新的应用,进入 protected/components 目录,我们可以看到 UserIdentity.php 文件,里面的 UserIdentity 类里面只有一个 public 函数如下: public function authenticate() { $users=array( // username => password 'demo'=>'demo', 'admin'=>'admin'
-
在Yii框架中使用PHP模板引擎Twig的例子
Twig是一款快速.安全.灵活的PHP模板引擎,它内置了许多filter和tags,并且支持模板继承,能让你用最简洁的代码来描述你的模板.他的语法和Python下的模板引擎Jinjia以及Django的模板语法都非常像. 比如我们在PHP中需要输出变量并且将其进行转义时,语法比较累赘: 复制代码 代码如下: <?php echo $var ?><?php echo htmlspecialchars(\$var, ENT_QUOTES, 'UTF-8') ?> 但是在Twig中可以这
-
PHP 基于Yii框架中使用smarty模板的方法详解
第一种方法按照YII系统的办法生成视图觉得有点麻烦,觉得用smarty更省事.尝试着把smarty模板加进来了. 复制代码 代码如下: date_default_timezone_set("PRC");class PlaceController extends CController {protected $_smarty;function __construct(){parent::__construct('place');//需要一个参数来调用父类的构造函数,该参数为控制器ID$p
-
Yii PHP Framework实用入门教程(详细介绍)
说明:因为最近工作工作关系,需要开发一个在Linux下运行的Web Application,需要对现在比较流行的一些PHP框架做一个了解和评估,下面的这篇文章是笔者最近学习一个比较新的PHP Framework的一点经历和操作步骤,因为官方的手册写得比较晦涩(特别是中文的),曾经尝试遍读它那个手册再动手,读了一大半发现仍无法理解,于是干脆先下手为强了,因而也就有了下面的文章. 介绍Yii 是一个基于组件.纯OOP的.用于开发大型 Web 应用的高性能 PHP 框架.它将 Web 编程中的可重用性
-
PHP yii实现model添加默认值的方法(两种方法)
yii实现model添加默认值的方法(2种方法) 这篇文章主要介绍了yii实现model添加默认值的方法,结合实例分析了在rules()方法及在beforeSave()方法中设定两种实现技巧,对大家也许有帮助, 本文实例讲述了yii实现model添加默认值的方法.分享给大家供大家参考,具体如下: yii model 继承自CActiveRecord 有些字段可能不会出现在表单中,而需要在程序中加入.如订单编号,时间戳,操作的user_id等等. 以下二种方法: 1.在rules()方法中设定:
-
yii实现model添加默认值的方法(2种方法)
本文实例讲述了yii实现model添加默认值的方法.分享给大家供大家参考,具体如下: yii model 继承自CActiveRecord 有些字段可能不会出现在表单中,而需要在程序中加入.如订单编号,时间戳,操作的user_id等等. 以下二种方法: 1.在rules()方法中设定: public function rules() { // NOTE: you should only define rules for those attributes that // will receive
-
用JS动态改变表单form里的action值属性的两种方法
方法1: <form id="form1" name="form1" method="post" action="../news/index.asp"> <table width="100%" height="43" border="0" cellpadding="0" cellspacing="0">
-
微信小程序页面间值传递的两种方法
一:url带参数传递 与前端语言一样,小程序页面间的传递可以通过在路由url后接参数,路由的同时会将参数一并传递到新的页面. index.wxml: <!--index.wxml--> <view class="container"> <!-- 使用navigator组件 --> <navigator url="../demo/demo?title=参数传递">title=参数传递</navigator>
-
layui table 表格上添加日期控件的两种方法
方法一: var tableInit = table.render({ elem: '#tbtxrz' , method: 'post' , data: jsonData , height: "auto" , id: "tbtxrz" , text: {none: '暂无相关数据'} , toolbar: toolbartxrz , cols: [[ { //设置表格中部分字体的颜色 field: "number", title: "序
-
更改Ubuntu默认python版本的两种方法python-> Anaconda
你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用. $ ls /usr/bin/python* /usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.4 /usr/bin/python3.4m /usr/bin/python3m 执行如下命令查看默认的 Python 版本信息: $ python --version Python 2.
-
docker已启动容器修改添加端口映射的两种方法
目录 简述 一.先提交,在配置 1.先将容器提交为镜像 2.创建新的容器并运行 二. 修改配置文件 1.关闭docker服务 2.修改hostconfig.json 3.修改config.v2.json 4.重启 docker服务 5.查看配置项已经修改成功 补充:docker容器怎么开端口 总结 简述 正常情况下,在你创建容器时可以添加多个端口映射,写法如下 每个端口映射都加一个-p docker run -itd --name centos -p 4000:8081 -p 3306:3306
-
Yii2设置默认控制器的两种方法
本文主要给大家介绍了关于Yii2默认控制器设置的内容,分享了两种方法供大家参考学习,下面来一起看看详细的介绍: 方法1: 首先Yii2中在/vendor/yiisoft/yii2/web/Application.php的28行 class Application extends \yii\base\Application { /** * @var string the default route of this application. Defaults to 'site'. */ public
-
c# 向MySQL添加数据的两种方法
下面介绍两种执行SQL命令的方法,并作出相应地总结,第一种介绍一种常规用法,下面进行做简要地分析,首先我们需要执行打开数据库操作首先创建一个MySqlConnection对象,在其构造函数中传入一个连接字符串,然后执行Open操作打开数据库,在正确打开数据库之后我们才能进行相关的动作,在ExecuteSQL这个函数中, 我们执行MySqlCommand myCmd = new MySqlCommand(CmdString, conn),从而创建MySqlCommand对象,其中传入的两个参数分别
-
Python交换字典键值对的四种方法实例
目录 前言 一.当值唯一时 1. 使用zip进行交换 2. 使用for循环遍历交换 3. 使用dict.items()交换 二.当值不唯一时 总结 前言 在学习过程中发现有时候交换字典的键和值,会使得我们最后的输出结果更加直观明了,整理出以下四种交换方式(data是原字典,new_data 是交换后的字典) 一.当值唯一时 1. 使用zip进行交换 data= {'A':1, 'B':2, 'C':3} new_data = dict(zip(data.values(), data.keys()
随机推荐
- ASP.NET中HyperLink超链接控件的使用方法
- .net开发中批量删除记录时实现全选功能的具体方法
- php自动跳转中英文页面
- 浅析BootStrap模态框的使用(经典)
- jsp防止跨域提交数据的具体实现
- java连接MySQl数据库实例代码
- VBS教程:VBscript语句-功能介绍
- 关于redis Key淘汰策略的实现方法
- PowerShell中判断闰年的方法
- 为何JS操作的href都是javascript:void(0);呢
- jQuery$命名冲突怎么办如何解决
- jQuery实现密保互斥问题解决方案
- C++ 多重继承和虚拟继承对象模型、效率分析
- javascript中for/in循环及使用技巧
- Javascript遍历Html Table示例(包括内容和属性值)
- Sequelize 常用操作详解及实例代码
- Android App开发中HTTP扩展包OkHttp的入门使用指南
- ASP.NET笔记之 控件与母板的区别分析
- c#:CTS类型系统
- sigsetjmp的用法总结