首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

CakePHP的blog例子(添加了分类功能)

CakePHP Cookbook里面的blog例子是非常简单的,简单到很多CakePHP的功能都没有展示出来,让不少初级的PHPer对CakePHP望而生畏(就像我),本人将blog例子做了一遍之后,成功的添加了文章分类功能,做的相当粗糙,见笑了,欢迎批评!(第一次发技术贴,不知道这个帖子发到这个板块,是否适合?)

1、数据库文件cakePHP\cake_test.sql
2、请在cakePHP\app\config\database.php配置您的数据库连接相关信息
3、相对于原例子增加了以下文件:
cakePHP\app\controllers\categories_controller.php
cakePHP\app\models\category.phpcakePHP\app\views\categories文件夹及其内文件
cakePHP\app\views\posts\view_in_category.ctp
4、相应修改了原例子中的部分文件


cakephp的中文手册:http://bbs.phpchina.com/thread-73559-1-1.html


[ 本帖最后由 ylcz 于 2008-8-6 11:54 编辑 ]
附件: 您所在的用户组无法下载或查看附件
昵称: ylcz  时间: 2008-07-29 10:16:00
看过了,写得很简洁,不过楼主既然在model用了hasmany和belongto,post控制器中就可以不用var $uses = array('Post', 'Category');不必调用两个model,只要post一个model就可以了,cakephp有自动关联的功能,所以post的控制器中要用到category的model时,只要用
$this->Post->Pategory->find(list);就可以调用相关的category中的数据了,这样也可以提高cakephp的运行速度,减少cakephp调用的sql语句。
昵称: lgyc  时间: 2008-07-30 08:59:00
原来可以这样,我之前还在纳闷这个问题呢,谢谢ls
昵称: ylcz  时间: 2008-07-30 09:25:00
$this->Post->Category->find(list):
请问这句是否有误?list是PHP的一个函数
我用了$this->Post->Category->findAll()但是发现还是对Post进行了2次查询,是否还可以简化呢?sql查询显示如下:
1、        DESCRIBE `posts`
2、        DESCRIBE `categories`
3、        SELECT `Post`.`id`, `Post`.`title`, `Post`.`body`, `Post`.`created`, `Post`.`modified`, `Post`.`category_id`, `Category`.`id`, `Category`.`name`, `Category`.`remark` FROM `posts` AS `Post` LEFT JOIN `categories` AS `Category` ON (`Post`.`category_id` = `Category`.`id`) WHERE 1 = 1
4、        SELECT `Category`.`id`, `Category`.`name`, `Category`.`remark` FROM `categories` AS `Category` WHERE 1 = 1
5、        SELECT `Post`.`id`, `Post`.`title`, `Post`.`body`, `Post`.`created`, `Post`.`modified`, `Post`.`category_id` FROM `posts` AS `Post` WHERE `Post`.`category_id` IN (1, 2, 3, 4, 5) ORDER BY `Post`.`created` DESC

[ 本帖最后由 ylcz 于 2008-7-31 17:08 编辑 ]
昵称: ylcz  时间: 2008-07-30 09:40:00
原来使用了$this->Post->Category->findAll(),可以得到一个包含所有关联数据的数组
昵称: ylcz  时间: 2008-07-31 17:11:00
值得学习
支持
昵称: benben3221987  时间: 2008-07-31 23:05:00
我看不了
昵称: 446434459  时间: 2011-08-11 11:42:14