2016-11-16 84 views
0

我有三個表用戶,屬性和user_attributes。Cakephp複雜查詢構造

users[id, name, username, password, dob, gender, isactive, registered_on], 
attributes[id, name, isactive], 
user_attributes[id, user_id, attribute_id] 

這是我的表結構與字段。現在我想編寫一個查詢,如果有任何行user_attributes表存在,就會獲取所有用戶從表中的用戶user_attributes表的值一起。

如何在cakephp中寫入查詢? 我有兩個型號UserAttribute

在此先感謝。

回答

0

遵循以下步驟:

爲表user_attributes 1 - 創建模型UserAttribute。

class UserAttribute extends AppModel{ 

} 

2。在您的用戶模型UserAttribute

創建的hasMany關聯
class User extends AppModel{ 

    public $hasMany = array(
      'UserAttribute' => array(
      'className' => 'UserAttribute', 
      'foreignKey' => 'user_id', 

      ), 

    ); 

} 

3-不要在你的控制器找到查詢:

$users= $this->User->find('all'); 
echo "<pre>"; 
print_r($users); 
+0

http://stackoverflow.com/questions/ 26312583/CakePHP的-3-RAW-SQL查詢 –

+2

@VikashAmbani CakePHP的支持關聯自動加載,因此,使用原始的SQL查詢,如果沒有明確要求是不是在大多數情況下是個好主意。現在的問題是什麼OP實際需要。 – ndm

+0

@ Vikash,還添加屬於在相應的模型關係.. –