小编use*_*327的帖子

CakePHP如何检索有条件的HABTM数据?

我使用CakePHP 2.2.2我有3张桌子:餐馆,厨房和厨房餐厅 - HABTM的连接桌.

在餐厅模型我有:

public $hasAndBelongsToMany = array(
    'Kitchen' =>
        array(
            'className'              => 'Kitchen',
            'joinTable'              => 'kitchens_restaurants',
            'foreignKey'             => 'restaurant_id',
            'associationForeignKey'  => 'kitchen_id',
            'unique'                 => true,
            'conditions'             => '',
            'fields'                 => 'kitchen',
            'order'                  => '',
            'limit'                  => '',
            'offset'                 => '',
        ),
Run Code Online (Sandbox Code Playgroud)

问题是我的主页面有单独的控制器,我需要从复杂条件的模型中检索数据.

我补充道

public $uses = array('Restaurant');
Run Code Online (Sandbox Code Playgroud)

到我的主页控制器,这里是我需要你的建议的部分.

我只需要选择那些厨房= $ id的餐馆.我试过补充一下

public function index() {   
$this->set('rests', $this->Restaurant->find('all', array(
'conditions' => array('Restaurant.active' => "1", 'Kitchen.id' => "1")
)));

}
Run Code Online (Sandbox Code Playgroud)

我得到了SQLSTATE [42S22]:未找到列:1054'where子句'错误中的未知列.显然我需要从"HABTM连接表"中获取数据,但我不知道如何.

php cakephp has-and-belongs-to-many

11
推荐指数
1
解决办法
1万
查看次数

站点从localhost看起来很完美,但不是来自服务器

我偶然发现了一个非常奇怪的问题,我正在构建一个HTML模型,它在localhost的所有主流浏览器中运行良好,但是当我将它上传到服务器时,事情变得很奇怪.

当我从ChromeSafari中的服务器加载我的网站时,标题(看起来我需要它来自localhost)会显示失真.但是当我重新加载页面时,它有可能正常显示.

两个位置的代码完全相同.服务器正在运行apache 2.2.16

html css apache

9
推荐指数
2
解决办法
2万
查看次数

CakePHP cacheHelper - 未找到appController错误

我将CacheHelper添加到了我的应用程序中.在我的APP/Config/core.php中我有

Configure::write('Cache.check', true);
Run Code Online (Sandbox Code Playgroud)

在APP/Config/bootstrap.php中我有

Configure::write('Dispatcher.filters', array(
  'AssetDispatcher',
  'CacheDispatcher'
));
Run Code Online (Sandbox Code Playgroud)

在我的控制器中我有:

public $helpers = array('Text', 'Cache');
public $cacheAction = "1 hour";
Run Code Online (Sandbox Code Playgroud)

我没有直接在这个控制器或AppController中回调.问题是每个页面只加载一次(例如 - 清除缓存后).在第二次请求我回来了

Fatal Error

Error: Class 'AppController' not found  
Run Code Online (Sandbox Code Playgroud)

如果关闭缓存一切正常.

CakePHP版本是2.2.3

调试日志:

 2012-12-24 12:21:00 Error: Fatal Error (1): Class 'AppController' not found in    [/Volumes/../app/Controller/NewsController.php, line 2]
 2012-12-24 12:21:00 Error: [FatalErrorException] Class 'AppController' not found
 #0 /Volumes/../lib/Cake/Error/ErrorHandler.php(161): ErrorHandler::handleFatalError(1,     'Class 'AppContr...', '/Volumes/Data/D...', 2)
 #1 [internal function]: ErrorHandler::handleError(1, 'Class 'AppContr...', '/Volumes/../D...', 2, Array)
 #2 /Volumes/../lib/Cake/Core/App.php(926): call_user_func('ErrorHandler::h...', 1, 'Class 'AppContr...', '/Volumes/../D...', 2, Array) …
Run Code Online (Sandbox Code Playgroud)

php caching cakephp

8
推荐指数
1
解决办法
6047
查看次数

标签 统计

cakephp ×2

php ×2

apache ×1

caching ×1

css ×1

has-and-belongs-to-many ×1

html ×1