我正在使用ActiveRecord已存在数据库。 我需要通过account_type ='A'获取与personan相关的所有帐户,所以我有:
class Person extends ActiveRecord\Model {
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'))
,该应用正常。我做错了什么?
答案 0 :(得分:1)
“语法”不同,条件应该是一个数组
array('account_type = ?', 'A')
答案 1 :(得分:0)
以下内容应该有效。注意数组('A')的变化只是'A'。
class Person extends ActiveRecord\Model {
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
答案 2 :(得分:0)
我自己的解决方案:
class Person extends ActiveRecord\Model {
static $has_many = array(
array(
'accounts',
'conditions' => "account_type = 'A'",
'class_name' => 'Accounts',
'foreign_key' => 'idpersona'
)
);