2014-03-19 105 views
2

我如何在CakePHP中執行SQL查詢。CakePHP,模型查詢

我想要做一些像這樣的代碼

$employees = $this->Employee->find('all'); 

但介紹我自己的SQL statment。

回答

3

插入到你的模型,執行你的SQL statment功能,

public function get_employees() { 
    $sql = 'select * from employees';   
    $data = $this->query($sql); 
    return $data; 
} 

而調用這個函數像這樣:

$employee = new Employee(); 
$data = $employee->get_employees(); 
+0

它是不必要的。有一條線在下面。 http://stackoverflow.com/questions/22495160/cakephp-query-from-model/22505493#22505493 – sdagli

1

在模型,你可以不寫型號名稱。它已經被檢測到。僅使用

$this->find('all'); 
0

假設你的說法是內部EmployeesController.php

$employeeRows = $this->employee->find('all', array('conditions'=>array('id' => 100))); 

如果你是在另一個控制器,你必須加載模型之前找到

$this->loadModel('employee'); 

如果你是在一個視圖中,你可以寫一個幫手並使用原始的sql

cakephp網站al所以提供以下控制器邏輯

$this->Picture->query("SELECT * FROM pictures LIMIT 2;");