如何使用doctrine 2在symfony 2中使用输出参数调用mysql存储过程?

vis*_*hal 5 mysql stored-procedures symfony doctrine-orm

我找不到任何使用symfony 2 doctrine 2使用mysql存储过程的例子.下面是我的存储过程的签名,

CREATE PROCEDURE `get_matched_users_by_name` (IN lastname VARCHAR(50), IN firstname VARCHAR(50), IN middlename VARCHAR(50), IN debug INT(11), OUT user_id INT(11), OUT user_name VARCHAR(60))

BEGIN
 .....
 .....

END
Run Code Online (Sandbox Code Playgroud)

如何调用上面的存储过程并访问输出参数user_id和user_name?

我已经搜索了类似的问题,但是没有找到这样的例子,也被裁判了

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/native-sql.html#examples

ale*_*x88 6

您应该使用可以从中获取的本机pdo_mysql连接entityManager->getConnection()返回可以从中调用的pdo_mysql对象:

$sth = $connection->prepare("CALL get_matched_users_by_name(arguments)");
$sth->execute();
Run Code Online (Sandbox Code Playgroud)

那么你需要使用$sth->fetchpdo的一种方法来获得结果.

在如何从一个PDO声明获取的引用在这里