1、table()函数
thinkphp中提供了一个table()函数,具体用法参考以下语句:
$list=$Demo->table('think_blog blog,think_type type')->where('blog.typeid=type.id')->field('blog.id as id,blog.title,blog.content,type.typename as type')->order('blog.id desc' )->limit(5)->select();
echo $Demo->getLastSql(); //打印一下SQL语句,查看一下
2、join()函数
看一下代码:
$Demo = M('artist');
$Demo->join('RIGHT JOIN think_work ON think_artist.id = think_work.artist_id' );
//可以使用INNER JOIN 或者 LEFT JOIN 这里一定要注意表名的前缀!
echo $Demo->getLastSql(); //打印一下SQL语句,查看一下
3、query方法
thinkphp提供了join方法来实现关联查询,但是很不好用,还是用原生的方便,所以,推荐大家用query方法。
$Model = new Model();
$sql = "SELECT a.id, a.attr_name, a.attr_input_type, a.attr_type, a.attr_values, v.attr_value, v.attr_price ".
"FROM hh_typeattr AS a ".
"LEFT JOIN hh_siteattr AS v ".
"ON v.attr_id = a.id AND v.site_id = '$site_id' ".
"WHERE a.type_id = " . intval($type_id) ." OR a.type_id = 0 ".
"ORDER BY a.listorder, a.attr_type, a.id, v.attr_price, v.id";
$row = $Model->query($sql);
评论