从表中链接PHPactiverecord中的链接表的数据中检索数据

时间:2015-11-24 12:15:58

标签: php phpactiverecord

我有三张桌子,我正在使用会员来查找他们已经完成的所有任务。

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;
}

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

1 个答案:

答案 0 :(得分:0)

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

中间的表也是如此,所以你有

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

您不需要使用' trough'定义,特别是如果你想查看关联的标志。只需手动'进入连接表,查看条目,然后完成任务就好了。

如果您想要该member_task中的任务,您可能还需要定义该关联,因为它看起来还没有?