sharehua
(8080268)
June 15, 2009, 9:19am
1
A B C 3个Model。
A:'bs'=>array(self::HAS_MANY,'B','a_id','condition'=>'??.ss=' ;正常' ;'),
B:'c'=>array(self::HAS_ONE,'C','b_id','on'=>'??.xx=: xx'),
当我在action中执行$as=A::model()->with('bs.c'=>array('condition'=>"ff is not null",'params'=>array('xx'=>$xx)))->findAll();后。在view中循环$as as a 输出的时候,a->bs是否会按照在action使用的条件读取数据?
谢谢帮忙!
qiang
(Qiang Xue)
June 15, 2009, 11:21am
2
你这样查询的话,你的条件是给c设置的。如果你需要给bs设置,需要用with(array('bs'=>…, 'bs.c'=>…))
sharehua
(8080268)
June 15, 2009, 11:32am
3
恩 是给c限定的,但我想通过c的限定来限定b,而且这个限定会在我用a->bs引用的时候还是保持这种限定。
qiang
(Qiang Xue)
June 15, 2009, 2:21pm
4
不是太理解。你试过with(array('bs'=>…, 'bs.c'=>…))了么?另外,你可以加上together()看看,因为你这个查询涉及到根据关联对象过滤。
sharehua
(8080268)
June 15, 2009, 2:25pm
5
假设A是部门,B是人员,C是考勤记录。
如果我要获得今天A部门的考勤人员 迟到的列表,正常的列表
应该这样写吗?还是我概念不对?请指教。