use yii\behaviors\TimestampBehavior; use yii\behaviors\BlameableBehavior; use yii\db\Expression; /** * @inheritdoc * 插入创建者及创建时间/更新者及更新时间 */ public function behaviors() { return [ [ 'class' => TimestampBehavior::className(), 'value' => new Expression…
创建model之后,新建一条记录,结果设计的表中created_at 字段 updated_at 字段 都是datetime 类型的,却不能自动插入当前时间.查看了资料,解决如下: 1.在class CrmBusiness extends \yii\db\ActiveRecord {}中 引入use  yii\behaviors\TimestampBehavior;use yii\db\Expression; 2.覆盖父类的behaviors 方法 /*** @inheritdoc*/ publ…
今日遇到一个需要将当前用户,全部登出系统(YII2框架制作)重新登录的需求 仔细回忆一遍,Yii2的登录流程,竟然有些不太明白,于是下午空闲时 重新看了下Yii2的用户登录源码 文件位于YII2项目下:vender/yiisoft/yii2/web/User.php /** * @身份属性类对象 是一个 实现IdentityInterface接口的一个对象 */ public $identityClass; /** * @var bool 属性 是否使用(cookie)自动登录 */ publi…
视图中: 1.要use的两个文件类 use yii\helpers\Html;   use yii\widgets\ActiveForm; 2.生成表单,以添加商品为例说明.注意红线区域:上传文件需要注意的地方一级表单中有textarea文本域的使用…
#!/usr/bin/expect spawn ./init expect "Which environment do you want the application to be initialized in?" send "0\n" expect "environment" send "y\n" expect "overwrite" send "a\n" expect "c…
1. 开启gii模块 common/config/main-local.php加入下面代码 return [ 'modules' => [ 'gii' => [ 'class' => 'yii\gii\Module', 'allowedIPs' => ['::1','127.0.0.1'], //只允许本地访问gii 'generators'=> [ /*重新定义gii model & crud的生成模板*/ 'module'=> [ 'class' =>…
lareval重命名created_at和updated_at字段 一.总结 一句话总结: 要改变created_at和updated_at的名称,模型和数据迁移里面都需要改变 在模型中指定数据类型之后,运行迁移文件created_at和updated_at的格式还是datatime格式,说明:php artisan migrate执行数据迁移的时候,并不会去找数据迁移所对应的模型 1.模型中如何修改created_at和updated_at的名称? const CREATED_AT = 'to…
这一篇文章的开头就无需多言了,紧接着上一篇的内容和计划,这一篇我们来说说Yii2的Behavior和Validations. Behavior 首先我们来说说Behavior,在Yii2中Behavior主要是可以用于一些常用的Model字段当中,对其进行自动化操作,比如自动添加一些时间戳字段等,这样我们就不用在每一个需要保存记录的地方分别写生成时间戳的代码了,比如前面我们在Yii2系列教程五:简单的用户权限管理中的controllers/StatusController.php的actionC…
2019-04-21 12:23:14.509 INFO 9384 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2019-04-21 12:23:14.818 INFO 9384 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2019-04-21 12:23:14.829 INF…
使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充.通过将行为绑定到一个类,可以使得类具有行为本身所具有的属性和方法,就好像是类本来就具有的这些属性和功能一样. 好的代码设计,必须要同时满足可复用性.可维护性和可扩展性.设计原则中有一条非常重要的一条:类应该对扩展开放,对修改关闭.改变原有代码往往会带来潜在风险,因此我们尽量减少修改的行为.我们的目标是允许类容易扩展,在不修改现有代码的情况下,就可以搭配新的行为.如果能实现这样的目标,有什么好处呢?这样的设计具有弹性,可以…
yii2的下载安装 使用下载好的文件配置高级模板,在配置文件配置好数据库和gii 在common模板配置db: 在backend模板配置gii: 配置nginx服务器访问backend和frontend: server { root C:/Users/liudaoqiang/project/manhua_yii2/frontend/web/; index index.php index.html; server_name dev.manhua_yii2_frontend.com; # set $…
Yii2 restful api创建,认证授权以及速率控制 下面是对restful从创建到速率控制的一个详细流程介绍,里面的步骤以及截图尽可能详细,熟悉restful的盆友可能觉得过于繁琐,新手不妨耐心仔细看一下. 一.Api的创建 1.复制一个frontend或者backend,将其重命名为api放在同级目录下 2.然后删除controllers和views文件夹,然后将api文件中的frontend替换为api(比如命名空间,相关配置等),这点非常重要!!! 3.打开cmd命令行,cd进入项…
开始GridView GridView主要是为了实现表格复用,尤其我们做后台的时候,你发现表单和表格占据了大部分页面,而表格的样式又是高度的统一,那么如果有这样一个挂件,传入数据集自动渲染表格该多好. 于是GridView出现了,一个有细节.够稳定的表格渲染挂件. 通常情况下GridView是和各种dataProvider配合使用,针对于yii2框架中的dataProvider我之前写过一篇文章,你可以看下,这将有助于你对GridView的学习.小谈yii2中3个数据提供者及与GridView的…
上一篇文章我们理了一下Yii2的MVC,Forms和Layouts,这篇文章就直接按照约定来说说Yii2与数据库相关的一些事情,如果你觉得不够的话,不急,更具体的用法我会在后续的教程给出,并且这里也会介绍Yii2的代码生成工具:强大的Gii. 你可以直接到Github下载项目源码:https://github.com/JellyBool/helloYii,这样你就可以直接跟上我的进度了,每一次我写完一个教程,我都会将代码push到Github,所以,你想偷懒的话,这是一个不错的方法. 接着上一篇…
采用的是yii2.0.14版本,为了学习方便,以问答式书写. 开始GridView GridView主要是为了实现表格复用,尤其我们做后台的时候,你发现表单和表格占据了大部分页面,而表格的样式又是高度的统一,那么如果有这样一个挂件,传入数据集自动渲染表格该多好. 于是GridView出现了,一个有细节.够稳定的表格渲染挂件. 通常情况下GridView是和各种dataProvider配合使用,针对于yii2框架中的dataProvider我之前写过一篇文章,你可以看下,这将有助于你对GridVi…
      Active Record 模型是一种设计模式,用面向对象的方式抽象地访问数据的模式.在 Yii2 中,每一个 Active Record 模型对象的实例是 yii\db\ActiveRecord 类或它的子类,它封装了数据库表或视图中的一行记录,并封装了所有逻辑和访问数据库的细节,如果有大部分的业务逻辑,很适合使用这种模式. 1. ActiveRecord 模型概述        在大多数企业级开发中,都需要用到面向对象方法和关系型数据库.在软件的业务逻辑层和用户界面层,都需要操作…
1.安装 Composer https://www.yiichina.com/doc/guide/2.0/start-installation通过 Composer 安装 curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer 解决方案 sudo vim /etc/php/7.2/cli/php.ini zlib.output_compression = ON 安装成功 2…
后台管理系统的常规单据通常包括数据,页面,功能:其中数据,页面,功能又可以细分如下: 分类  二级分类  主要内容  注意事项  例如 数据 数据库迁移脚本  用于数据表生成及转态回滚 1.是否需要增加索引 2.字段类型与长度   基本数据模型  使用代码生成器生成,包括字段基本验证规则和属性的label  1.直接用代码生成器生成   核心业务模型的场景与验证  定义业务场景,及为场景定义验证规则 1.任何的业务场景都应该定义验证场景,不应该使用默认的场景 2.任何定义的验证规格都使用支持客户…
首先我自己没有使用自带的user表 如果model层没有AuthItem.php   那就自建一个将下面这些内容写入 <?php namespace backend\models; use Yii; /** * This is the model class for table "auth_item". * * @property string $name * @property integer $type * @property string $description * @p…
转 http://www.yiichina.com/tutorial/1143yii2中restful url访问配置, 登陆接口access-token验证类 [ 2.0 版本 ] 登陆接口access-token验证类 Controller下新建BaseActiveController.php <?php /** *接口登陆验证 * @author 爱博 * 1.0 * */ namespace backend\controllers; use yii\filters\auth\Compos…
在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证,使用Yii表单生成页面的时候,如果表单的提交方式为POST,是都会在页面中添加一个隐藏字段: <div style="display:none">     <input type="hidden" value="a429b6c0f4468db23a5661d1682db537fe2672c7" name="YII_CSRF_TOKEN" />…
https://github.com/laravel/framework/issues/15144 https://stackoverflow.com/questions/30555844/laravel-migrations-issues-while-creating-timestamps Larave迁移的时候.出现Invalid default value for 'created_at' mysql不允许0值填充. 在迁移的时候. $table->timestamp('created_a…
在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作.       使用ibatis的selectKey就可以得到sequence的值,同时也会将值返回.不过对于不同的数据库有不同的操作方式.       对于oracle:       <insert id="insertUser" parameterClass="ibatis.User">   …
今天给大家分享一个简单的Python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值是否和返回报文中的值一致,如果不一致则根据用例标题把bug提交到bug管理系统,这里使用的bug管理系统是bugfree. 实现步骤: 1.读取excel,保存测试用例中的内容: 2.根据excel中的请求url和参数拼接请求报文,调用接口,并保存返回报文: 3.读取返回报文,和预期结果对比,不一致的往b…
一.前言 首先要学习一下ogg的所有进程,看着这张图来学习   Manager进程是GoldenGate的控制进程,运行在源端和目标端上.它主要作用有以下几个方面:启动.监控.重启Goldengate的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等.在目标端和源端有且只有一个manager进程 Extract运行在数据库源端,负责从源端数据表或者日志中捕获数据.Extract的作用可以按照阶段来划分为: 初始时间装载阶段:在初始数据装载阶段,Extract进程直接从源端的数据表中抽取…
最近几天几天做项目用到了Spring Data JPA,确实是个好东西,省了很多力气.但是由于刚开始用,也遇到不少头疼的问题,如下,调用JpaRepository接口的save方法保存一个对象到数据库中的时候出错: ERROR: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'portal.hibernate_sequence' doesn't exist,  wqee 对这个问题可以说是几经磨难,一直想不通为何…
Eloquent 模型 默认继承use Illuminate\Database\Eloquent\Model类. 数据表名称与模型名称约定: 数据库的表名一般使用“蛇形命名法”命名.蛇形命名法要求单词小写,单词之间用_下划线连接,且名称是复数. 与之对应的模型名称,则使用“帕斯卡法“命名,即单词头一字母都大写. 如果不是按以上约定,则需指明对应的数据表: class Flight extends Model { /** * 与模型关联的数据表 * * @var string */ protect…
###多对多关系 多对多关系和之前的关系完全不一样,因为多对多关系可能出现很多冗余数据,用之前自带的表存不下了. 我们定义两个模型:Article 和 Tag,分别表示文章和标签,他们是多对多的关系.表结构应该是这样的: article: id ... ... tag: id ... ... article_tag: article_id tag_id 在 Model 中使用: <?php class Tag extends Eloquent { protected $table = 'tags…
每日任务内容: 本次会议为第五次Scrum Meeting会议~ 由于本次会议项目经理召开时间依旧较晚,在公寓7层召开,女生参与了线上会议. 队员 昨日完成任务 明日要完成任务 刘乾 #167(未完成) 1041的全部单元测试通过并Build通过 https://github.com/buaase/Phylab-Web/issues/167 #167 1041的全部单元测试通过并Build通过 https://github.com/buaase/Phylab-Web/issues/167 何小松…
laravel的 Eloquent 模型其实就是我们平时说的MVC里Model,只是换了个名字而已~ 1)Eloquent 是啥? Eloquent 本质就一个查询构建器(laravel里叫查询构建器,想上面所说的一样,它其实就是一个Model),所以它使用查询构建器的所以方法, 如果你不知道laravel查询构建器都有些什么方法,看这里:http://www.cnblogs.com/tujia/p/6292832.html 2)Eloquent 怎么用? 1.创建一个Eloquent 模型(生…