从模型到控制器检索数据

时间:2012-05-09 07:08:19

标签: php cakephp cakephp-1.3

在用户模型中,如果我回显$ data,则打印数据。我的问题是如何检索用户控制器中的相同数据,我试图做,但没有工作。

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
}

1 个答案:

答案 0 :(得分:1)

如果您按照应用中的CakePHP 1.3 Conventions进行操作,则不必在基于CakePHP的应用中使用'mysql_query()'和'mysql_fetch_array()'PHP函数。

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

因此,如果您遵循Controller中的约定,则可以执行以下操作:

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

您几乎可以提供任何条件或订单等。 查看documentation

还有特殊的'threaded' Model::find() type。它返回一个嵌套数组。看看这个! ;)