首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpactiverecord:获取按条件关联的对象

phpactiverecord:获取按条件关联的对象
EN

Stack Overflow用户
提问于 2012-12-26 21:22:16
回答 3查看 517关注 0票数 0

我正在使用数据库已经存在的ActiveRecord。我需要获取与account_type = 'A‘的角色相关的所有帐户,所以我有:

代码语言:javascript
复制
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')),但应用程序运行正常。我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-26 22:43:45

“语法”是不同的,条件应该是像array('account_type = ?', 'A')这样的数组

票数 1
EN

Stack Overflow用户

发布于 2012-12-26 21:37:11

下面的方法应该是可行的。注意数组( 'A‘)改为简单的’A‘。

代码语言:javascript
复制
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

票数 0
EN

Stack Overflow用户

发布于 2012-12-26 23:09:08

我自己的解决方案:

代码语言:javascript
复制
class Person extends ActiveRecord\Model {

static $has_many = array(
    array(
        'accounts',
        'conditions' => "account_type = 'A'",
        'class_name' => 'Accounts',
        'foreign_key' => 'idpersona'
    )
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14041202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档