我需要构建大约 25 个连接查询才能在 CakePHP 上的项目中运行。
只在 MySQL WorkBench 或 phpMyAdmin 中构建查询,然后放入 PHP 代码比使用很多时候与 MySQL 查询没有一对一关系的搞砸的 cakePHP 模型参数要快得多。
是否有减少或消除 CakePHP 复杂性的无表或多表“采取任何 MySQL”示例?
我需要构建大约 25 个连接查询才能在 CakePHP 上的项目中运行。
只在 MySQL WorkBench 或 phpMyAdmin 中构建查询,然后放入 PHP 代码比使用很多时候与 MySQL 查询没有一对一关系的搞砸的 cakePHP 模型参数要快得多。
是否有减少或消除 CakePHP 复杂性的无表或多表“采取任何 MySQL”示例?
CakePHP 提供了 Model::query() 让你有更多的控制权。如果您真的想放弃 CakePHP 的 find 方法,我倾向于您也使用准备好的语句。
$db = $this->getDataSource();
$db->fetchAll(
'SELECT * from users where username = ? AND password = ?',
array('jhon', '12345')
);
$db->fetchAll(
'SELECT * from users where username = :username AND password = :password',
array('username' => 'jhon','password' => '12345')
);
这是一个注释:
query() 不支持 $Model->cacheQueries,因为它的功能本质上与调用模型的功能不相交。为避免缓存对查询的调用,请提供第二个 false 参数,即: query($query, $cachequeries = false)
TLDR:
使用模型的query()
方法来编写任何你想要的 MySQL。
更多细节:
听起来你还没有真正读过这本书。在抨击你不明白的事情之前,可能应该尝试一下。
对于其他可能想学习如何在 CakePHP 中加入事物的人:
和