我有三张桌子,我正在使用会员来查找他们已经完成的所有任务。
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表中。我怎么抓住它?
答案 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中的任务,您可能还需要定义该关联,因为它看起来还没有?