使用GD库的 imagejpeg()
/ imagepng()
处理图片,它们直接写入所述图像数据,以输出流(或文件)。
如果你想获取图片文件内容则通过如下方法:
1 | // $img = 要处理的图像资源; |
$image_data
得到的数据就是图片文件的数据内容 或者 直接返回 ob_end_clean()
是一样的
小峰的博客
使用GD库的 imagejpeg()
/ imagepng()
处理图片,它们直接写入所述图像数据,以输出流(或文件)。
如果你想获取图片文件内容则通过如下方法:
1 | // $img = 要处理的图像资源; |
$image_data
得到的数据就是图片文件的数据内容 或者 直接返回 ob_end_clean()
是一样的
废话不多说直接上车
1 | DROP TABLE IF EXISTS `region`; |
/common/models/Region.php
需求:假设我们有一张商品表goods和一张商品分类表categories,通过商品分类简称搜索商品列表
goods表AR
1 | namespace common\models; |
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(); // 返回所有数据; |