
thinkphp 多表查询怎么写? 5
请问thinkphp多表查询怎么写?我刚学thinkphp,都是在控制器Action中直接类似于:$wish=M('jokes')->order('dateDESC')-...
请问thinkphp多表查询怎么写?我刚学thinkphp,都是在控制器Action中直接类似于:$wish = M ( 'jokes' )->order ( 'date DESC' )->limit ( $limit )->select ();这样的查询,上网查了查,好想还要用到模型Model才能多表联合查询。求解,这个到底该怎么写呢?我的需求是,一个内容表里有发表内容的uid,然后用户表中有详细信息,想一起查询出结果,然后再模板中一起foreach出,大侠指教啊
展开
2个回答
展开全部
要用到 视图模型
如下<?php
class ArticleViewModel extends ViewModel{
public $viewFields = array(
'Article' => array('id','title','content','key_id','task_id','aout','re','otime','url','correlation','c_length','ad','_type'=>'left'),
'Task' => array('_on'=>'Article.task_id=Task.id','task','num','able','user_id','lang','_type'=>'left'),
'User' => array('_on'=>'Task.user_id=User.id','manage','alie','belong_to','_type'=>'left'),
);
}
?>
具体可以参考 thinkphp 手册 视图模型部分
如下<?php
class ArticleViewModel extends ViewModel{
public $viewFields = array(
'Article' => array('id','title','content','key_id','task_id','aout','re','otime','url','correlation','c_length','ad','_type'=>'left'),
'Task' => array('_on'=>'Article.task_id=Task.id','task','num','able','user_id','lang','_type'=>'left'),
'User' => array('_on'=>'Task.user_id=User.id','manage','alie','belong_to','_type'=>'left'),
);
}
?>
具体可以参考 thinkphp 手册 视图模型部分
追问
那个连贯查询中的join应该也可以多表联合查询吧?能说下left join right join inner join 有什么区别吗?join默认的是inner join吧?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询