如何在CakePHP中执行SQL查询。
我想做一些像这个代码
$employees = $this->Employee->find('all');
但引入了我自己的SQL语句。
答案 0 :(得分:3)
在Model中插入一个执行SQL语句的函数,
public function get_employees() {
$sql = 'select * from employees';
$data = $this->query($sql);
return $data;
}
并以这种方式调用此函数:
$employee = new Employee();
$data = $employee->get_employees();
答案 1 :(得分:1)
在模型中,您无法编写模型名称。已经检测到了。仅限使用
$this->find('all');
答案 2 :(得分:0)
假设您的声明在EmployeesController.php
中$employeeRows = $this->employee->find('all', array('conditions'=>array('id' => 100)));
如果您在另一个控制器中,则必须在查找
之前加载模型$this->loadModel('employee');
如果您在视图中,则可以编写帮助程序并使用原始SQL
cakephp网站还提供以下控制器逻辑
$this->Picture->query("SELECT * FROM pictures LIMIT 2;");