Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

//模板
{if false}
1
{else/} //====》可以使用 效果同 {else /}
2
{/if}
{if condition="(1 eq 1) and false"} //可用 同 {if (1==1) AND (false)}
1
{else /}
2
{/if}

Tp5.1手册上并没有介绍model中如何使用事务回滚

 public function sendReply($id,$where)
{
$this->startTrans();
$result = Email::where($id)->update($where);
if ($result) {
//更新邮件状态
$this->commit();
} else {
$this->rollback();
}
return $result;
}

但是是可以直接拿来用的,注意一定是innodb型。myisam无效,涉及数据库操作时,直接操作完成,没有提交回滚什么事

测试1对1关联模型

dump($trade = EPTrade::get(3));
dump(EPTrade::get(3)->EPForm);
$trade['状态'] = $trade['状态'].'999';
$trade->EPForm['状态'] = $trade->EPForm['状态'].'99'; $trade->EPForm->save(); //只会保存EPForm中修改的数据,不保存$trade模型的数据
$trade->save(); //必须的 dump($trade = EPTrade::get(3));
dump($trade = EPTrade::get(3)->EPForm);

做验证的时候

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

当有个字段需要多行才能解决时,可以取个别名的方式

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

场景这么也是能用的

EPForm::where([['id', '=', $postId],['编号', '=', $userName]])->find();

如果字段不正确会直接报错

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

如果结果不存在会返回

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

如果查询到结果会返回

实现arrayAccress的Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录对象

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

当修改成功是,返回的是 int(1)

当没有任何修改的时候返回int(0)

字段不存在或者类型不合适不会有任何表现,只会插入正确的字段(和转换后的结果?)

遇到一种情况

控制器层 Db::startTrans(),开启事务后,一段操作后,出现死锁。

解决办法是过程中用了助手函数db();改了之后正常。

参考

Thinkphp5.1当多个场景token附加的某固定字段无法保证每个场景都有时,可以这么用

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

2017-11-18:15:08:23

模板中可以使用公共方法

//D:\wwwroot90\application\user\common.php

function gp() {
return 'haogp';
}

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

2018-03-01 08:59:59

TP5.1模型关联forupdate问题

//GoldBuy模型
...
//购买 belongsTo 挂单
public function source()
{
return $this->belongsTo('GoldMarket', 'pid', 'id');
}
//调用
$buyInfo = GoldBuy::where('id', $ids)->lock(true)->find();
$buyInfo->source;

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

关联查询并没有锁记录

我的方案是

//调用
$buyInfo = GoldBuy::where('id', $ids)->lock(true)->find();
$buyInfo->source()->lock(true)->find();

Thinkphp5.1手册太简单,有的功能用起来不确定结果是否和预料的一样,顾整理记录

上一篇:企业证书APP发布流程 分类: ios相关 app相关 2015-06-10 11:01 212人阅读 评论(0) 收藏


下一篇:洛谷 P4336 黑暗前的幻想乡 —— 容斥+矩阵树定理