2012-05-09 59 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。 :) –

相關問題