Я играю с версией предварительного просмотра разработчика CakePHP 3.0, и я застреваю, пытаясь заставить новую ОРМ работать с разбиением на страницы.Pagination in CakePHP 3.0
В моей PostsController.php у меня есть:
<?php
namespace App\Controller;
use App\Controller\AppController;
class PostsController extends AppController {
public $name = 'Posts';
public $uses = 'Posts';
public $components = ['Paginator'];
public $paginate = [
'fields' => ['Posts.id'],
'limit' => 1,
'order' => [
'Post.id' => 'asc'
]
];
public function index() {
$posts = $this->paginate('Posts');
$this->set('posts', $posts);
}
}
Однако подкачки работает, но данные не возвращаются. По-видимому, это потому, что данные не возвращаются напрямую в новый ORM, а объект ... Кто-нибудь еще это пробовал? Знает, как исправить проблему, чтобы заставить ее работать с paginator?
Я читал руководство по миграции: http://book.cakephp.org/3.0/en/appendices/orm-migration.html, но ничего не вижу в объединении его с paginator.
Примечание: я не могу отлаживать $ posts и показывать его здесь, потому что это около 2000 строк кода, содержащих всевозможные сведения об ORM. Вот дегустатор ...
object(Cake\ORM\ResultSet) {
[protected] _query => object(Cake\ORM\Query) {
[protected] _table => object(Cake\ORM\Table) {
[protected] _table => 'posts'
[protected] _alias => 'Posts'
[protected] _connection => object(Cake\Database\Connection) {
[protected] _config => array(
'password' => '*****',
'login' => '*****',
'host' => '*****',
'database' => '*****',
'prefix' => '*****',
'persistent' => false,
'encoding' => 'utf8',
'name' => 'default',
'datasource' => object(Cake\Database\Driver\Mysql) {
[protected] _baseConfig => array(
'password' => '*****',
'login' => '*****',
'host' => '*****',
'database' => '*****',
'port' => '*****',
'persistent' => true,
'flags' => array(),
'encoding' => 'utf8',
'timezone' => null,
'init' => array(),
'dsn' => null
)
[protected] _config => array(
'password' => '*****',
'login' => '*****',
'host' => '*****',
'database' => '*****',
'port' => '*****',
'prefix' => '*****',
'persistent' => false,
'encoding' => 'utf8',
'name' => 'default',
'flags' => array(),
'timezone' => null,
'init' => array(),
'dsn' => null
)
[protected] _autoQuoting => false...
Так как вы можете видеть, что это огромный объект и, предположительно, данные где-то внутри него.
что вы получите с 'отладки ($ posts-> ToArray());'? – lp1051