0

在我的 cakephp 中,我需要从数据库中检索数据。

我怎样才能以整洁的格式显示表格结果。

控制器:

  function MarketingTaskmanagement(){
    $data['list'] = $this->TravancoAdmin->get_task_all();
    $this->set($data); 
    $this->render('Marketing/taskmanagement');
  }

模型:

function get_task_all(){

               $users = $this->query('select * from tbl_tasks');

        if($users){
            return $users;
        }else{
            return 1;
        }
    }

看法:

但它将值显示为许多数组:

Array ( [0] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 1 [task_title_mm] => ghjg [task_description_mm] => gjg [task_from_mm] => 09/04/2012 [task_to_mm] => 09/27/2012 ) ) [1] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 2 [task_title_mm] => hf [task_description_mm] => hfgh [task_from_mm] => 09/03/2012 [task_to_mm] => 09/27/2012 ) ) [2] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 3 [task_title_mm] => hf [task_description_mm] => hfgh [task_from_mm] => 09/03/2012 [task_to_mm] => 09/27/2012 ) ) [3] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 4 [task_title_mm] => hfh [task_description_mm] => fgh [task_from_mm] => 09/03/2012 [task_to_mm] => 09/20/2012 ) ) [4] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 5 [task_title_mm] => h [task_description_mm] => h [task_from_mm] => 09/04/2012 [task_to_mm] => 09/28/2012 ) ) [5] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 6 [task_title_mm] => hjk [task_description_mm] => hk [task_from_mm] => 09/05/2012 [task_to_mm] => 09/22/2012 ) ) [6] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 7 [task_title_mm] => v [task_description_mm] => v [task_from_mm] => 09/03/2012 [task_to_mm] => 09/28/2012 ) ) [7] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 8 [task_title_mm] => d [task_description_mm] => d [task_from_mm] => 09/03/2012 [task_to_mm] => 09/28/2012 ) ) [8] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 9 [task_title_mm] => f [task_description_mm] => d [task_from_mm] => 09/04/2012 [task_to_mm] => 09/27/2012 ) ) [9] => Array ( [tbl_tasks] => Array ( [task_ids_mm] => 10 [task_title_mm] => b [task_description_mm] => b [task_from_mm] => 09/05/2012 [task_to_mm] => 09/27/2012 ) ) ) 

在codeigniter中有这样的东西:

$users = $this->query('select * from tbl_tasks')->result();

然后它显示正确的数组,没有任何复杂性。

那么我怎么能在cakephp中做到这一点?

我需要task_title_mm在视图页面中显示表格结果中的所有值。

我怎样才能做到这一点?

4

3 回答 3

1

使用“查找”方法。

$this->ModelName->find('all');

或者

$this->ModelName->find('list');

如果您需要较少的查询信息,请输入:

$this->ModelName->recursive = -1;

在查找方法之前。

于 2012-09-12T11:52:30.883 回答
0

由于您扩展了您的问题,因此我将详细说明anwser。

最好不要$this->query()在本地蛋糕搜索可以工作的地方使用。

如果您没有tbl_tasks创建模型文件:

<?php
class Task extends AppModel {
    var $name = 'Task';
    var $displayField = 'task_title_mm';
    var $useTable = 'tbl_tasks';
}

将其加载到您的get_task_all()函数中。您可以在另一个模型中动态加载模型。

function get_task_all(){
    //load the Task model on the fly if it isnt associated with this one
    //loadModel won't work because we're inside a model. 
    //App:import might work, dunno.
    $this->Task = ClassRegistry::init('Task');

    $users = $this->Task->find('list');

    return $users ? $users : 1;
}

find('list')如果您声明'task_title_mm'为 displayField 则可以使用,否则您可以使用$this->Task->find('all', array('fields' => array('task_title_mm')));,但结果将以['Task'];为前缀

于 2012-09-12T11:53:45.180 回答
0

function get_task_all(){
$users = $this->query('select * from tbl_tasks') ....

嘿嘿嘿!停在那儿!那只是让我心脏病发作。

零。阅读食谱!不认真,停下!在你走得更远之前,我建议至少看一遍食谱。从一开始就以正确的方式做事就是要走的路。

  1. 使用蛋糕为您提供的正确方法来完成工作。SQL 查询可以很好地完成工作,但相信我,使用 cake 的内置方法将使您长期受益,并使您的生活更轻松。

  2. 根据您对如何以表格格式显示数据的查询,请使用 cake bake:http ://book.cakephp.org/1.3/view/1522/Code-Generation-with-Bake 。cake bake 实用程序将为您的应用程序控制器、模型、视图生成基本脚手架。蛋糕的默认视图模板非常有用,并且几乎内置了所有功能,分页等。

想要分页结果?使用分页没问题!

function index() {
    $this->ModelAlias->recursive = -1;
    $this->set('list', $this->paginate());
}

瞧!您可以在视图中轻松获得 $list 中的分页数据。如果您的视图已经烘焙,那么所有内容都会根据您的需要很好地显示在表格中。

不想获取所有内容?像这样在分页中插入条件:

function index() {
    $this->ModelAlias->recursive = -1;
    $this->paginate = array(
        'conditions' => array('ModelAlias.tasks' => 'incomplete')
    );
    $this->set('list', $this->paginate());
}

不仅如此,您几乎可以包含 cake 支持的任何其他键,例如“字段”、“订单”、“限制”。

一旦你开始使用 cake 的功能,事情就会变得非常棒。为了获取相关数据,您可以使用 cake 'containable' 行为。这只是蛋糕做得很好的数百件事情中的一件。我不能在这里概述所有内容,我坚持请去看看食谱http://book.cakephp.org

于 2012-09-12T23:52:05.550 回答