,我可以查看我的customer表的所有数据细节。我想拥有一个允许用户选择公司视图的功能,当用户选择公司时,我使用javascript来了解公司ID, 但我不知道如何按公司ID对数据视图进行排序..
我想在用户选择公司进行查看时列出index.ctp中的数据,所有数据都有自己的公司,只提供少数公司。 任何创造这个动作的想法?通过刷新页面,我可以在index.ctp中查看新的数据列表。感谢。
我是cakephp的新手。
答案 0 :(得分:1)
如果您使用pagination,您将能够轻松地允许用户对数据进行排序。默认情况下,数据在服务器上排序(在数据源级别),因此在单击排序链接时页面将重新加载。
<?php echo $paginator->sort('Company', 'company'); ?>
如果您想要使用JavaScript获得更加动态的体验,也可以使用分页,但需要更多代码。手册中有关于AJAX pagination的信息以及有关面包店advanced pagination的文章。
如果这不是您想要的,请您澄清一下吗?
答案 1 :(得分:1)
如果您真正想要的是过滤(而不是排序)您的数据,您也可以使用控制器的paginate方法/ vars来实现:
$this->Model->recursive = 0;
$data = $this->paginate('Model', array('OR' => array(array('Model.type' => 1), array('Model.subtype LIKE' => '%SOMETHING%'))));
$this->set('data', $data);
这会创建一个这样的查询:
WHERE ((`Model`.`type` = 1) OR (`Model`.`subtype` LIKE '%SOMETHING%')
你也可以从控制器传递条件,排序和所有直接分页(),如下所示:
$this->paginate['conditions'] = array('Recipe.title LIKE' => 'a%');
$this->paginate['limit'] = 10;