phpactiverecord:获取条件相关的对象

时间:2012-12-26 13:22:16

标签: php database activerecord phpactiverecord

我正在使用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')),该应用正常。我做错了什么?

3 个答案:

答案 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'
    )
);