thinkphp通过第一个查询出来的值做为第二个查询的条件

$basicsetupid=M('basicsetup')->field('bdatavalue')->where('btype="semester"')->select();

print_r($basicsetupid);die;
$semester=M('semester')->field('srname')->where(array('srid'=>$basicsetupid))->select();
print_r($semester);die;
$this->assign('semester',$$semester);
第一行,是我要取出bdatavalue的值,做为下面这个查询语句的条件,本人新手,求大神指导,第一行打印出来的是这个 Array ( [0] => Array([bdatavalue] => 1) ),要怎么取出里面的bdatavalue=1做为查询条件?

$basicsetupid=M('basicsetup')->where('btype="semester"')->getField('bdatavalue',true); // 直接得到bdatavalue的数组,假设可能有多个符合条件的结果
$semester=M('semester')->field('srname')->where(array('srid'=>array('in',$basicsetupid)))->select(); // 用表达式查询的in
$this->assign('semester',$semester);

追问

谢谢,你的是正确的,我还想问一下,你这样写的话,$this->assign('semester',$semester);这句在模板页调用$semester 出现的是Array,而不是值哦。。

追答

对的,select()获得的结果是数组啊,一般在模板页用volist标签输出的。

温馨提示:答案为网友推荐,仅供参考