Yii2框架下展示列表数据通常用Gridview来实现,这里整理常用的小技巧,方便以后查询使用
1 | = GridView::widget([ |
表格整体配置
自定义行样式
单数行为绿色背景,偶数行为红色背景
1 | = GridView::widget([ |
red和green需要有对应的样式实现
小峰的博客
Yii2框架下展示列表数据通常用Gridview来实现,这里整理常用的小技巧,方便以后查询使用
1 | <?= GridView::widget([ |
单数行为绿色背景,偶数行为红色背景
1 | <?= GridView::widget([ |
red和green需要有对应的样式实现
如果在view中直接添加js代码,如下:
1 | <script> |
会提示没有$ is not defined错误,这是因为view中添加js代码的前面没有引用juqery.js,默认全局的jquery则是在文件尾添加。
解决方法:
Order 模型
1 | class Order extends \yii\db\ActiveRecord |
OrderItem 模型是 Order 与 Item 的中间表
order 表的主键 id 与 order-item 表 order_id 关联
item 表的主键 id 与 order-item 表 order_id 关联
通过Order模型获取关联的Item表数据
1 | $order = Order::find()->all(); |
使用 timeStampBehavior
这个行为支持在 Active Record 存储时自动更新它的时间戳属性
1 | namespace app\models\User; |
以上指定的行为数组:
当记录插入($model->insert()或$model->save())时,行为将当前时间戳赋值给 created_at 和 updated_at 属性;
当记录更新($model->update())时,行为将当前时间戳赋值给 updated_at 属性。
使用
$model->save()更新数据updated_at不更新
如果更新字段数据没有改变$model->update()返回0
TimestampBehavior 行为还提供了一个有用的方法 touch(), 这个方法能将当前时间戳赋值给指定属性并保存到数据库:
1 | $user->touch('login_time'); |
1 | User::find()->all(); // 返回所有数据; |
单位以前服务器代码更新使用的是FTP上传,这样无法保证服务器代码和仓库代码保持一致,忍不了了,果断改成git拉取
第一步,有代码的管理仓库
第二步,拉取服务器的代码到本地,然后再提交到代码仓库,保持当前服务器和代码库文件和文件内容一致
第三步,在服务器上安装git,并生成公钥
1 | # ssh-keygen -t rsa |
第四步,把服务器的公钥配置到代码库的部署公钥管理中
第五步,在服务器上代码根目录初始化git
往GitHub仓库 push 代码时,一直报如下错误
1 | remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. |
原来在2021年8月13日之后,如果你还用账户密码来操作 Github 上的仓库,就会收到以上警告
现在提交GitHub仓库代码必须使用个人访问令牌(personal access token),就是把你的密码替换成token
至于为什么要改成使用token,肯定是为了安全角度考虑,具体说明参考官网文档https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations