//模板
{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);

做验证的时候

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

场景这么也是能用的

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

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

如果结果不存在会返回

如果查询到结果会返回

实现arrayAccress的对象

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

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

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

遇到一种情况

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

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

参考

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

2017-11-18:15:08:23

模板中可以使用公共方法

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

function gp() {
return 'haogp';
}

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;

关联查询并没有锁记录

我的方案是

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

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

  1. 在VS2012中实现Ext JS的智能提示太简单了

    Visual Studio 2012太强大了,居然能自己会去提取Ext JS的类的属性和方法,从而实现只能提示.下面就来介绍一下实现这个功能. 在Visual Studio 2012中随便创建一个We ...

  2. ThinkPHP5.0 实现 app微信支付功能

    相对于之前随笔写的<ThinkPHP5.0实现app支付宝支付功能>来说,php对接app微信支付功能就相对简单的多了,最近有加我的朋友问到app微信支付,所以我把app微信支付的demo ...

  3. 程序员深夜惨遭老婆鄙视,原因竟是CAS原理太简单?| 每一张图都力求精美

    悟空 种树比较好的时间是十年前,其次是现在. 自主开发了Java学习平台.PMP刷题小程序.目前主修Java.多线程.SpringBoot.SpringCloud.k8s. 本公众号不限于分享技术,也 ...

  4. System.DateUtils 1. DateOf、TimeOf 简单修饰功能

    编译版本:Delphi XE7 { Simple trimming functions } // 简单修饰功能 function DateOf(const AValue: TDateTime): TD ...

  5. python3实现简单爬虫功能

    本文参考虫师python2实现简单爬虫功能,并增加自己的感悟. #coding=utf-8 import re import urllib.request def getHtml(url): page ...

  6. 插件介绍 :cropper是一款使用简单且功能强大的图片剪裁jQuery插件。

    简要教程 cropper是一款使用简单且功能强大的图片剪裁jQuery插件.该图片剪裁插件支持图片放大缩小,支持鼠标滚轮操作,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用. c ...

  7. SharePoint 2013 &quot;通知我&quot;简单的功能

    简单的功能 "通知我"内部列表或文档库中的主要项目.加入/删除/修改等操作,用户的E- mail通知设定功能:设置列表或文档库通知的能力,有可能设置通知为一个单一的项目.这是Sha ...

  8. Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件!

    源:Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件! 2014年02月06日发布控件的重要更新版本: Victor 串口控件 1.5.0.2 版本 (包 ...

  9. 基于django的自定义简单session功能

    基于django的自定义简单session功能 简单思路: 1.建立自定义session数据库 2.登入时将用户名和密码存入session库 3.将自定义的随机session_id写入cookie中 ...

随机推荐

  1. Lodash.js常用拷贝

    lodash.js 降低 array.number.objects.string 等等的使用难度从而让 JavaScript 变得更简单.非常适用于:遍历 array.object 和 string: ...

  2. BZOJ 4777: [Usaco2017 Open]Switch Grass

    4777: [Usaco2017 Open]Switch Grass Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 46  Solved: 10[Su ...

  3. UVA 11987 Almost Union-Find (单点修改的并查集)

    此题最难处理的操作就是将一个单点改变集合,而普通的并查集是不支持这种操作的. 当结点p是叶子结点的时候,直接pa[p] = root(q)是可以的, p没有子结点,这个操作对其它结点不会造成任何影响, ...

  4. 使用控件的Tag属性传递信息

    实现效果: 知识运用: Control类的Tag属性 //获取或设置包含 有关控件的数据的对象 public object Tag {get;set;} 实现代码: private void Form ...

  5. opensue "Have a lot of fun..."的出处

    每次登陆opensuse都会出现“Have a lot of fun...”,觉得奇怪. 通过搜索发现在这是/etc/motd文件中配置的. MOTD(5)                       ...

  6. dht 分布式hash 一致性hash区别

    先有一致性hash :一致性哈希,似乎最早提出是在分布式缓存里面的,让节点震荡的时候,影响最小.不过现在已经应用在分布式存储和p2p系统里面. dht 是p2p领域的概念,内有三大概念是由keyspa ...

  7. 有重复元素的排列(DFS)

    题目描述: 设R={ r1, r2 , …, rn}是要进行排列的n个元素.其中元素r1, r2 , …, rn均为小写字母并且可能相同.试设计一个算法,列出R的所有不同排列. 给定n 以及待排列的n ...

  8. Mac配置gdb的一些问题

    1.Unable to find Mach task port for process-id 1527: (os/kern) failure (0x5).   (please check gdb is ...

  9. 笔记--Day2--python基础2

    一.鸡汤 1.提高自我修养 2.人丑就要多读书 3.多走走,开拓眼界 二.目录: 1.列表.元组操作 2.字符串操作 3.字典操作 dict是无序的 key必须是唯一的 4.集合操作 集合是一个无序的 ...

  10. Python3学习了解日记

    # 单行注释 ''' 多行注释 ''' """ 这个也是多行注释 """ ''' 声明变量 Python 中的变量不需要声明.每个变量在使用 ...