Phpactiverecord:根据条件获取对象



我使用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'
    )
);

相关内容

  • 没有找到相关文章

最新更新