任何人都可以告诉我,如何从cakePHP中的多个表中检索连接结果(使用cakePHP mvc架构).例如,我有三个表要加入(tbl_topics,tbl_items,tbl_votes.他们的关系定义如下:一个主题可以有很多项目,一个项目可以有很多选票.现在我想检索一个主题列表,其中包括每个主题的所有项目的所有投票.对此的SQL查询如下:
SELECT Topic.*, count(Vote.id) voteCount
FROM
tbl_topics AS Topic
LEFT OUTER JOIN tbl_items AS Item
ON (Topic.id = Item.topic_id)
LEFT OUTER JOIN tbl_votes AS Vote
ON (Item.id = Vote.item_id);
Run Code Online (Sandbox Code Playgroud)
我的问题是我可以使用$this-><Model Name>->query函数轻松完成,但这需要在我不想要的控制器中编写sql代码.我试图找出任何其他方法来做到这一点(比如find()).
我在本地网站上收到此错误.
Warning (2): htmlspecialchars(): Invalid multibyte sequence in argument in [/var/www/html/cake/basics.php, line 207]
Run Code Online (Sandbox Code Playgroud)
有谁知道,问题是什么或应该是什么解决方案?
谢谢.
直接在一个INSERT或一个UPDATE?上提交当前时间戳的方法是什么?如果我正在运行常规SQL,我会NOW()在提交时将该函数用于特定的SQL字段.我怎么用CakePHP做到这一点?
$this->Model->save($this->data)
Run Code Online (Sandbox Code Playgroud) 我知道compact()是一个标准的PHP函数.而set()是一种特定于蛋糕的方法.
我运行一个值传递给使用Ajax生成的视图(用户呈现()在我的控制器)的一个简单的测试,和,如果我的设置是这样,因此仅通过从控制器到该视图的值:
$variable_name_to_pass = "Passing to the view using set() can compact()";
$this->set(compact('variable_name_to_pass'));
Run Code Online (Sandbox Code Playgroud)
从阅读手册,看来set()应该与w/out compact一起工作.
任何人都可以解释为什么set()不会单独工作?喜欢
$this->set('variable_name_to_pass');
Run Code Online (Sandbox Code Playgroud) 我有兴趣在我们的应用程序中构建一些更重复的页内CRUD结构Backbone.js(它建立在CakePHP框架上).我一直试图抓住Backbone,同时弄清楚它如何与Cake一起工作,而且在分离双方的职责时我有点迷失.
我试图将某些内容添加到我的网站中而不需要在那里吗?这种堆栈结构有优先权吗?我现在都是耳朵.
我需要在我的mac上使用扩展intl和XAMPP.
所以我按照这个链接:
在XAMPP for Mac Lion 10.8上安装Php-intl
http://lvarayut.blogspot.it/2013/09/installing-intl-extension-in-xampp.html
我重新启动我的apache服务器,但没有安装扩展.因为如果我发布:
php -m | grep intl #should return 'intl'
Run Code Online (Sandbox Code Playgroud)
回来空了
没有它我无法启动的命令是对于composer和cakephp这样:
composer create-project --prefer-dist -s dev cakephp/app cakephp3
Run Code Online (Sandbox Code Playgroud)
给我这个错误:
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for cakephp/cakephp 3.0.*-dev -> satisfiable by cakephp/cakephp[3.0.x-dev].
- cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
Problem 2
- cakephp/cakephp 3.0.x-dev requires ext-intl * …Run Code Online (Sandbox Code Playgroud) 嗨,我在CakePHP中设置管理路由.
这是我目前的路线:
Router::connect('/admin/:controller/:action/*', array('admin' => true, 'prefix' => 'admin', 'controller' => 'pages', 'action' => 'display', 'home'));
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我不明白'admin'=> true和'prefix'=>'admin'之间的区别是什么.
当我省略时'prefix' => 'admin',路由器将不会使用admin_index,而只是使用index.那有什么意义'admin' => true呢?
好吧,我在我正在关注的教程中有这行代码.但是,它没有为我提供有关递归的明确解释.我是cakephp的新手,并搜索了这个"递归".我希望有人可以给我一个外行人对这段代码的解释:
$this->Author->recursive = 1;
Run Code Online (Sandbox Code Playgroud)
谢谢