我正在尝试从一个表中查询部门名称,使用从表单提交提交到另一个表的 ID,方法是将表单提交中的 ID 与部门表中的 ID 进行匹配。
$deptQuery = $form->getValue('department_id');
$q = Doctrine_Query::create()
->select('d.name')
->from('Department d')
->where('id = ?', $deptQuery)
->execute();
;
echo $q;
这是我的输出:
<pre>
Doctrine_Collection
data : Array(
0 : Object(Department)
)
</pre>
我可以让 department_id 变量显示如下:
$deptQuery = $form->getValue('department_id');
echo $deptquery;
它将显示正确的 id:
5 (for example)
我如何编写查询,以便它采用提交的表单 department_id 并将其与 Department 表中的 id 匹配并输出部门名称?
即不是 5,它输出摄影部门。
这已得到解决 here .对不起,我的业余帖子。
我只需要将数组切割成一个返回并拉出第一个。
$dept = $q->fetchOne();
$dept = $q->execute()->getFirst();
最佳答案
有一个方法调用find()这正是你想要的......像这样使用它:
$dept = Doctrine_Core::getTable('Department')->find($id);
$id
参数必须是主键 - 在您的情况下是(我假设)。这将返回一个与您的主键匹配的 Department
对象 - 要获取名称,您只需使用 $dept->getName()
关于php - 在查询中使用表单中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9197839/