我有以下关系
User
has_many Clients
通过 ClientMemberships
Client
has_many Projects
Project
belongs_to Client
给定特定用户。找到具有特定项目ID的用户的所有客户端的最佳方法是什么。
我不想遍历所有项目并使用ruby检查每个项目,而不是使用一些SQL来记住急切的负载。
答案 0 :(得分:2)
@user.clients.joins(:projects).where("projects.id = ?", your_project_id)
答案 1 :(得分:1)
class User
def clients_for_project_id(project_id)
clients.joins(:projects).where(projects: { id: project_id })
end
end
答案 2 :(得分:-1)
非常简单,使用public class FetchFromTCWebTask extends AsyncTask<String, Void, String>
{
MainActivity mainActivity;
int requestId;
FetchFromTCWebTask(MainActivity activity, int id)
{
mainActivity = activity;
requestId = id;
}
...
@Override
protected void onPostExecute(String result)
{
mainActivity.loadFinished(result, requestId);
}
public interface UIListner
{
public void loadFinished(String result, int id);
public void loading(int progress);
}
}
在另一张桌子上执行该条件,并使用joins
进行预先加载。
inculdes