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

$basicsetupid=M('basicsetup')->field('bdatavalue')->where('btype="semester"')->select... $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做为查询条件?
展开
 我来答
learneroner
高粉答主

推荐于2016-11-26 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6546万
展开全部
$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标签输出的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式