1. tp5辅助函数是放在common.php当中的,然后就可以直接使用
2. tp5的模型可以与控制器同名,但需要as给模型起一个别名,例如:
use app\common\model\Photo as ModelPhoto;
3. tp5支持使用Db门面,支持依赖注入
Db::name('tag')
name后面为表名,注意Db门面和使用模型的增删改查是不同的
4.tp5支持使用request接受,参数可以用$request->param()
5.tp5的join关联
Db::table('adverts')->alias('a')
->field('a.*,a.id as aid, b.*')
->join('photo b', 'a.photo_id = b.id')->where($where)
->order('sort_order', 'desc')->paginate(Env::get('pageSize')); //env需要use
6.tp5后台修改样式
构造里面:
public function __construct()
{
parent::__construct();
$this->assign([
'advert_active' => 'active',
]);
}
sidebar.html里面:
class="{$advert_active ?? ''}"
7.tp5可以使用sync方法同步更新中间表数据
例如:
public function update(Request $request, $id)
{
$store = Stores::find($id);
$store->save($request->param());
//同步更新中间表数据
$store->tags()->sync($request->tag_id); //tags()为模型当中关联的方法
$this->success('编辑商π成功~', 'Store/index');
}
8.时间的自动写入
模型支持时间的自动写入,db门面好像不支持,开启datebase.php当中的时间自动写入
// 数据集返回类型
'resultset_type' => 'datetime',
// 自动写入时间戳字段
'auto_timestamp' => 'true',
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
模型当中加入,数据库对应字段create_time,和update_time类型均为datetime
protected $autoWriteTimestamp = 'datetime';