Предложение Kohana v3 ORM Select и Where на основе другой таблицы

Привет, мне нужно сделать что-то вроде этого:

$hours->task->job->where('group_id', '=', $num)->find_all();

Это вернет информацию о работе. Есть ли способ заставить orm вместо этого вернуть информацию из таблицы $hours?


person Navetz    schedule 05.10.2010    source источник
comment
ваш вопрос недостаточно ясен.   -  person zerkms    schedule 05.10.2010
comment
Я думаю, что он хочет вернуть записи часов на основе group_id задания. Что-то вроде $hours-›where('task-›job-›group_id, '=', $group_id)-›find_all(), но, конечно, это не сработает.   -  person Gerry Shaw    schedule 05.10.2010
comment
Да, у Джерри есть это. Хочу что-то подобное, но не знаю как.   -  person Navetz    schedule 07.10.2010


Ответы (1)


Прежде всего, ваш базовый PHP неверен.

Кроме того, убедитесь, что множественность в цепочке точна:

$task->jobs предполагает, что задача имеет связь один ко многим с заданиями. Вы не можете использовать find_all, если это не так.

Это будет определено в вашей модели.

Пытаться:

$task = ORM::factory( 'task' , $some_task_id );

$hours = $task->jobs->where( 'group_id', '=', $num )->find_all();

Это предполагает, что значение 'group_id' является столбцом в модели задания.

Надеюсь, это немного поможет. Добавьте комментарии, если вам нужна дополнительная помощь.

person brennanag    schedule 17.10.2010
comment
Это все равно вернет таблицу заданий. Я хочу вернуть таблицу задач. Я думаю, что лучший способ сделать это с соединением. - person Navetz; 17.10.2010