【发布时间】:2016-12-09 08:53:08
【问题描述】:
瞄准
使用 Cake2.x 和 CRUD 插件我需要查询和分页两个不同的模型
接近
我在模型文件中编写了一个数据库视图,它对我希望合并和分页的两个模型执行联合:
App::uses('ConnectionManager', 'Model');
App::uses('AppModel', 'Model');
App::uses('CakeLog', 'Log');
class Search extends AppModel {
public function __construct() {
parent::__construct();
$connection = ConnectionManager::getDataSource('default');
$return = $connection->execute("CREATE OR REPLACE VIEW `search` AS
SELECT Post.id, 'post' AS `type` FROM `posts` AS `Post`
UNION
SELECT Product.id, 'product' AS `type` FROM `products` AS `Product`");
$return = ($return == true)?'Search View created successfully on '.date('Y-m-d H:i:s'):$return;
CakeLog::write('search', $return);
}
public $useTable = 'search';// This model does not use a database table
public $primaryKey = 'id'; // Define primary key
public $useDbConfig = 'default'; // Define db
问题
我似乎无法对 db 视图进行分页,这就是我在用户控制器中所做的:
$this->loadModel('Search'); // executes the database view SQL
return $this->Crud->execute();
然而,这一切只是对用户模型进行分页,而不是对我的视图进行分页。所以看来我在某处遗漏了一个关键步骤。
任何帮助将不胜感激。
【问题讨论】:
标签: cakephp pagination crud