我使用ActiveRecord与数据库已经存在。我需要得到与一个人与account_type = ' a '相关的所有帐户,所以我有:
class Person extends ActiveRecordModel {
static $has_many = array(
array(
'accounts',
'conditions' => array('account_type = ?' => array('A')),
'class_name' => 'Accounts',
'foreign_key' => 'idpersona'
)
);
但是我得到了错误No bound parameter for index 3
。我试图删除线'conditions' => array('account_type = ?' => array('A'))
和应用程序工作正常。我做错了什么?
"语法"不同,条件应该像数组一样array('account_type = ?', 'A')
下面应该可以工作。注意,数组('A')变成了简单的'A'。
class Person extends ActiveRecordModel {
static $has_many = array(
array(
'accounts',
'conditions' => array('account_type = ?' => 'A'),
'class_name' => 'Accounts',
'foreign_key' => 'idpersona'
)
);
只有当你的查询需要一系列输入或者你有多个标记要替换时,你才需要数组中的值。
查看这里的示例:http://www.phpactiverecord.org/projects/main/wiki/Finders#conditions
我自己的解决方案:
class Person extends ActiveRecordModel {
static $has_many = array(
array(
'accounts',
'conditions' => "account_type = 'A'",
'class_name' => 'Accounts',
'foreign_key' => 'idpersona'
)
);