【问题标题】:Retrieving data from the table linking linking tables in PHPactiverecord从 PHPactiverecord 中链接表的表中检索数据
【发布时间】:2016-02-26 21:15:14
【问题描述】:

我有三个表,我正在使用成员来查找他们已完成的所有任务。

class Task extends BaseModel {
static $has_many = array(
    array('members', 'through' => 'member_tasks'),
    array('member_tasks', 'class_name' => 'Member_task')
);

class Member extends BaseModel {
static $has_many = array(
    array('tasks', 'through' => 'member_tasks'),
    array('member_tasks', 'class_name' => 'Member_task')
);

class Member_task extends BaseModel {
static $belongs_to = array(
    'member', 'task'
);

如果我打电话给$tasks = $member->myTasks()

public function myTasks()
{
    return $this->tasks;
}

我可以从与该成员相关的任务表中检索项目。但是,我在 Member_tasks 表中有一个 is_completed 标志。我该如何抓住它?

【问题讨论】:

    标签: php phpactiverecord


    【解决方案1】:

    如果您有会员,则可以访问关联,因此您可以通过$member->tasks获得它们,不需要该功能。

    中间的桌子也是如此,所以你会有

    foreach($member->member_tasks as member_task){
        //now you have a member_task object
        //use $member_task->is_completed  
    }
    

    您不需要使用“低谷”定义,尤其是当您想查看关联的标志时。只需“手动”进入连接表,查看条目,然后获取任务即可。

    如果您想要该 member_task 中的任务,您可能还需要定义该关联,因为您似乎还没有那个?

    【讨论】:

      猜你喜欢
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 2013-01-29
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多