0

我需要构建大约 25 个连接查询才能在 CakePHP 上的项目中运行。

只在 MySQL WorkBench 或 phpMyAdmin 中构建查询,然后放入 PHP 代码比使用很多时候与 MySQL 查询没有一对一关系的搞砸的 cakePHP 模型参数要快得多。

是否有减少或消除 CakePHP 复杂性的无表或多表“采取任何 MySQL”示例?

4

2 回答 2

0

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)

于 2013-05-23T03:02:10.273 回答
0

TLDR:

使用模型的query()方法来编写任何你想要的 MySQL。

更多细节:

听起来你还没有真正读过这本书。在抨击你不明白的事情之前,可能应该尝试一下。

对于其他可能想学习如何在 CakePHP 中加入事物的人:

如何使用 CakePHP 加入

如何在 CakePHP 中运行任何 MySQL 查询

于 2013-05-21T21:13:42.560 回答