Получение данных из таблицы, связывающей таблицы ссылок в 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. Как мне это схватить?

0

Решение

Если у вас есть член, ассоциации доступны, так что вы можете просто получить их через $member->tasksНет необходимости в функции.

То же самое касается таблицы между ними, так что вы бы

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

Вам не нужно использовать определения «впадины», особенно если вы хотите посмотреть на флаги ассоциации. Просто «вручную» зайдите в таблицу соединений, посмотрите записи и затем получите задачи.

Если вы хотите выполнить задачу в этом member_task, вам, вероятно, нужно определить и эту ассоциацию, поскольку она еще не выглядит так, как будто у вас есть?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]