gpt4 book ai didi

php - Phalcon PhP - 如何在带有参数的 Controller 内执行查询

转载 作者:行者123 更新时间:2023-11-29 01:52:14 25 4
gpt4 key购买 nike

我想知道如何在 phalcon Controller 中使用参数执行查询。

我的 SQL 查询:

SELECT a.*, getApplicationData(a.id) as json_data 
FROM application a
INNER JOIN application_data d on d.application_id = a.id
WHERE a.form_id=1
AND d.firstname LIKE '%:searchQuery:%' ;

这是我尝试执行的方式(我在 Phalcon 的文档中找到了它,但该示例不在 Controller 中)。

$applications = $this->db->query(
$sqlQuery,
array('searchQuery'=>$searchQuery)
)->fetchAll();

我知道既然你有 ORM,我不应该像这样查询数据库,但对于我正在处理的功能来说,它必须是这样的,这个查询是动态的。

我的问题是如何在查询中为 :searchQuery: 传递参数。

在此先感谢您的帮助。

最佳答案

你几乎做对了。您只需在绑定(bind)数组中添加百分比 (%)。

$sqlQuery = 'SELECT * FROM events WHERE title LIKE :searchQuery';
$applications = $this->db->query(
$sqlQuery,
array('searchQuery'=> '%' . $searchQuery . '%')
)->fetchAll();

另请注意我是如何在 $sqlQuery 中绑定(bind) :searchQuery 的。它只使用单个 : 而不是包围参数。这是因为原始查询直接使用数据库连接,在我们的例子中是 PDO。

可以在此处找到更多示例:https://docs.phalconphp.com/en/latest/api/Phalcon_Db_Adapter_Pdo.html

关于php - Phalcon PhP - 如何在带有参数的 Controller 内执行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38483496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com