2014-09-18 55 views
0

我正在努力解決一個基本問題。我正在使用蛋糕php 2.5。我嘗試在公司模型中應用find查詢並接收來自公司的所有數據及其關聯,但我只想從公司表中接收數據並希望從其餘關係中排除數據,任何人都可以幫助我這個。以下是我的疑問。cakephp從一張表中刪除相關數據表中的數據

$this->loadModel('Company'); 
    $fields=array('id','name','logo','status'); 
    $conditions=array('status'=>1); 
    $search_companies = $this->Company->find('first', 
    compact(array('conditions'=>$conditions,'fields'=>$fields))); 
    print_r($search_companies);die(); 
    echo json_encode($search_companies);die(); 

回答

0

Cakephp提供了這個功能,我們可以在任何模型上解開幾個/所有關聯。關鍵字unbindModel用於此目的。在unblindModel的內部,您可以定義要取消關聯該特定關聯的關聯類型和模型名稱。 (數組'('AssociationName'=>數組('ModelName_Youwwant_unblind')));

0

無法看到您的數據輸出,我只是在刺探問題。

$search_companies變量內部,您可能會得到一個多維數組,其他值可能與其他表格相同。

爲什麼不選擇一個陣列:

$wantedData = $search_companies['Company']; 
// The key Company (which is the model) should be the data you are wanting. 
0

嘗試設置模型的遞歸值爲-1

$this->Company->recursive = -1; 
$search_companies = $this->Company->find('first', 
    compact(array('conditions'=>$conditions,'fields'=>$fields))); 

有了這個,你將不會觸發連接的查詢,因此,你只能檢索模型的信息。