Kohana v3 ORM 基于不同表的 Select 和 Where 子句
Posted
技术标签:
【中文标题】Kohana v3 ORM 基于不同表的 Select 和 Where 子句【英文标题】:Kohana v3 ORM Select and Where clause based on different table 【发布时间】:2010-10-05 01:36:00 【问题描述】:您好,我需要这样做:
$hours->task->job->where('group_id' , '=' , $num)->find_all();
这将返回工作信息。有没有办法告诉 orm 从 $hours 表中返回信息?
【问题讨论】:
你的问题不够清楚。 我认为他想根据工作的 group_id 返回小时记录。像 $hours->where('task->job->group_id, '=', $group_id)->find_all() 这样的东西当然行不通。 是的,Gerry 明白了。我想要这样的东西,但我不知道怎么做。 【参考方案1】:首先,你的基本 php 是错误的。
另外,请确保链接中的复数是准确的:
$task->jobs 假定任务与作业具有一对多的关系。你不能使用 find_all 除非它这样做。
这将在您的模型中定义。
试试:
$task = ORM::factory( 'task' , $some_task_id );
$hours = $task->jobs->where( 'group_id', '=', $num )->find_all();
这假定“group_id”值是作业模型中的一列。
希望这会有所帮助。如果您需要更多帮助,请添加 cmets。
【讨论】:
这仍然会返回作业表。我想要返回任务表。我认为最好的方法是加入。以上是关于Kohana v3 ORM 基于不同表的 Select 和 Where 子句的主要内容,如果未能解决你的问题,请参考以下文章