鉴于ThinkPHP遇到的问题,和解决方法还是挺容易忘的,建立个文档,方便自己,没准也帮到网友。
关联模型
'relation_table'=>这个关联表名千万记得把表前缀也要打上(我被坑了半天,死活连不起来,原来要打全);
多对多MANY_TO_MANY其实也支持'condition'条件判断的,虽然官方手册上没写得有,但是今天我刚发现,查看SQL语句他已经把你要关联的表as ABC了,写condition条件的时候写省略名“a.id=1”这样就行了,不像HAS_MANY、BELONGS_TO那样要写全表名;这都被我发现了。
$dao->delete($id); 这种简写的删除,$id传递的只能是主键并且主键名叫id,其他都不可以。
Action参数绑定
public function del($id,$pid,$mod,$c){} $id,$pid,$mod,$c这个是顺序是可以随便写的;
field是获取自定的字段名,getField是获取某个字段的值,老把他俩搞混淆。get_it you know?noob
模板的定界符与JS的有冲突怎么办?
如果用的是TP默认的“{}”定界符,那么有时候会与JS的“{}”发生冲突,那么除了修改TP定界符怎么办呢?
答案是有的,直接写PHP原生代码就行了因为不是所有地方都与JS冲突,所以不值得修改定界符。
比如这个:如果直接用{vo.day}绝对失效了。
<volist name='logs' id='vo'> {url:"/blog/date/time/<?php echo ($vo['day']); ?>",date:"<?php echo ($vo['day']); ?>"}, </volist>
去除TP自带的转义反斜杠
stripslashes($_POST['content']);