2012-05-09 26 views
0

在用户模型数据打印如果我做echo数据。我的问题是如何检索用户控制器中的相同数据,我试图做,但没有奏效。从模型检索数据到控制器

user.php的(模型)

function display_children($parent, $level) 
     { 
    $result = mysql_query('SELECT title FROM tree '.'WHERE parent="'.$parent.'"'); 

    while ($row = mysql_fetch_array($result)) 
      { 
        $data = str_repeat(' ',$level).$row['title']."\n"; 

        // echo $data if i remove comment it display all data 

        // i m getting all data on this variable $data 

        $this->display_children($row['title'], $level+1); 
      } 
    } 

users_controller.php中

public function admin_mlm($id){ 

    pr($this->User->display_children('Food',0)); // function argument work but no data printed here 
} 
+0

在数据库中是否存在level = 0的一些数据? –

+0

我从用户控制器传递参数,我的数据在模型中正确显示,我有问题如何在控制器中检索相同的数据 –

+0

我想知道为什么你不使用包装类(数据源)作为简单任务。这毕竟是强大框架的主要优势之一。 – mark

回答

1

如果按照CakePHP 1.3 Conventions在您的应用程序,你就不必使用 '的mysql_query()' 和'mysql_fetch_array()'基于CakePHP的应用程序中的PHP函数。

这就是为什么它是一个框架 - 它为应用程序提供了另一个抽象层。

所以,如果你按照你的控制器的约定,你可以这样做:

$this->User->find('all', array('conditions' => array('id' => $user_id))); 

您可以提供几乎什么都作为条件,或者为了等 退房documentation

另外还有特殊的'threaded' Model::find() type。它返回一个嵌套数组。一探究竟! ;)

+0

多数民众赞成在我的想法......即使是自定义的SQL语句,他应该使用数据源(和查询方法)。但在这种简单的情况下,一个真的应该使用find():) – mark

+0

关于while循环条件,我的意思是说如何使用while循环 –

+0

我刚刚编辑了我的答案,包括,我错过了。检查Model :: find('threaded')out。 :) –

相关问题