ThinkPHP问题收集:模板中使用U方法时无法嵌套大括号,For标签,插入数据,新增的表字段缓存问题
2016-04-21 11:20
796 查看
ThinkPHP模板中使用U方法时无法嵌套大括号
需要在control里面用U方法赋值给变量传到模版如:{:U('/Blog/comment/',array('id'=>$id)}
$comment_url = U('/Blog/comment/',array('id'=>$id));
$this->assign('comment_url', $comment_url);
模版使用:
<a href="{$comment_url}">xxx</a>
=======================================
直接用:
$data['username'] = "xxx";
$data['nickname'] = "xxx";
$result = M("adm_activity")->add($data);
可能会出现缓存,插入相同的数据,需要用
$data = array();
$data['username'] = "xxx";
$data['nickname'] = "xxx";
或 $data = array({'username'=>"xxx",'nickname'=>"xxx"})
$result = M("adm_activity")->add($data);
========================================
由于ThinkPHP对数据库进行了缓存处理没有及时更新缓存对象,新增的表字段在进行增删改时可能会操作失败
解决的办法是直接删除Runtime文件夹下面的东西,让缓存重新生成(注意:必须把里面的文件夹也都删干净才行)
========================================
For标签 - ThinkPHP完全开发手册 - 3.1 http://doc.thinkphp.cn/manual/for.html 8.11 For标签
For标签用于实现for循环,格式为:
for标签(循环输出数据)
闭合 非闭合标签
属性 start(必须):循环变量开始值
end(必须):循环变量结束值
name(可选):循环变量名,默认值为i
step(可选):步进值,默认值为1
comparison(可选):判断条件,默认为lt
用法:
<for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" >
</for>
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt;;name的默认值是i,步进值的默认值是1,举例如下:
<for start="1" end="100">
{$i}
</for>
解析后的代码是
for ($i=1;$i<100;$i+=1){
echo $i;
}
========================================
解决ThinkPHP require model 问题,原因是模型文件的后缀也是需要.class.php和控制器一样。如果只写了.php的话就会报无法找到的错误,require两次会报Cannot redeclare class错误
========================================
有其他问题再补充
需要在control里面用U方法赋值给变量传到模版如:{:U('/Blog/comment/',array('id'=>$id)}
$comment_url = U('/Blog/comment/',array('id'=>$id));
$this->assign('comment_url', $comment_url);
模版使用:
<a href="{$comment_url}">xxx</a>
=======================================
直接用:
$data['username'] = "xxx";
$data['nickname'] = "xxx";
$result = M("adm_activity")->add($data);
可能会出现缓存,插入相同的数据,需要用
$data = array();
$data['username'] = "xxx";
$data['nickname'] = "xxx";
或 $data = array({'username'=>"xxx",'nickname'=>"xxx"})
$result = M("adm_activity")->add($data);
========================================
由于ThinkPHP对数据库进行了缓存处理没有及时更新缓存对象,新增的表字段在进行增删改时可能会操作失败
解决的办法是直接删除Runtime文件夹下面的东西,让缓存重新生成(注意:必须把里面的文件夹也都删干净才行)
========================================
For标签 - ThinkPHP完全开发手册 - 3.1 http://doc.thinkphp.cn/manual/for.html 8.11 For标签
For标签用于实现for循环,格式为:
for标签(循环输出数据)
闭合 非闭合标签
属性 start(必须):循环变量开始值
end(必须):循环变量结束值
name(可选):循环变量名,默认值为i
step(可选):步进值,默认值为1
comparison(可选):判断条件,默认为lt
用法:
<for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" >
</for>
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt;;name的默认值是i,步进值的默认值是1,举例如下:
<for start="1" end="100">
{$i}
</for>
解析后的代码是
for ($i=1;$i<100;$i+=1){
echo $i;
}
========================================
解决ThinkPHP require model 问题,原因是模型文件的后缀也是需要.class.php和控制器一样。如果只写了.php的话就会报无法找到的错误,require两次会报Cannot redeclare class错误
========================================
有其他问题再补充
相关文章推荐
- php 异常获取
- php socket function
- php trait特性
- php匿名函数
- php 项目bug 快速定位
- php上传文件遇到的坑
- Laravel框架写的网站直接放在wampserver环境下路径错误问题
- php生成器
- php代码优化
- PHP自动登录
- 一个不错的php类库
- PHP里10个鲜为人知但却非常有用的函数
- json如何用php格式化输出
- PHP实现多进程并行执行脚本
- PHP 高并发、抢票、秒杀 解决方案
- [分享]Ubuntu安装配置FTP服务器--pure-ftp
- PHP7 新特性
- php错误及异常捕捉
- PHP Zend Email验证函数MailVal()函数的使用
- 【PHP】进一法取整、四舍五入取整、忽略小数等的取整数方法大全