关于关联查询问题? [ 新手入门 ]
现在有一个news(新闻表)news表结构
CREATE TABLE `news` (
`news_id` int(11) NOT NULL AUTO_INCREMENT,
`news_title` varchar(50) NOT NULL,
`news_visable` tinyint(1) NOT NULL,
`news_author` varchar(50) NOT NULL,
`news_content` text NOT NULL,
`news_jianjie` varchar(50) NOT NULL,
`news_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`news_type` int(11) NOT NULL,
`news_count` int(11) NOT NULL,
PRIMARY KEY (`news_id`)
) ENGINE=MyISAM AUTO_INCREMENT=96 DEFAULT CHARSET=utf8 COMMENT='新闻表'[/code]一个pinglun(评论表)[code]
create table
CREATE TABLE `pinglun` (
`pl_id` int(11) NOT NULL AUTO_INCREMENT,
`pl_content` varchar(250) NOT NULL,
`pl_time` datetime NOT NULL,
`pl_int` int(11) NOT NULL COMMENT '评论int',
PRIMARY KEY (`pl_id`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='评论表'
现在不知道这两个表关联查询如何写?表的关系是(news.news_id=pl.pl_int)
共 7 条回复
-
lz19881123 回复于 2011-12-26 11:00 举报
晕倒,你到底有没看问题啊?
-
lz19881123 回复于 2011-12-26 11:04 举报
我是在model里面写
$post=News::model()->with(array('pingluns'=>array('condition'=>'pl_int='.$_GET['id'])))->findAll();
news的model relations
public function relations() { return array( 'pingluns'=>array(self::BELONGS_TO, 'Pinglun', 'news_id'), ); }
pinglun的model relations
public function relations() { return array( 'news'=>array(self::HAS_MANY, 'News', 'pl_int'), ); }
不知道哪里有错?
如何才可以达到这样的效果呢?
$sql="select * from news join pinglun on news_id=pinglun.pl_int where pl_int =".$_GET['id'];
-
lz19881123 回复于 2011-12-26 14:22 举报
在Yii中支持自定义查询方式,提供了CDbCriteria类,该类提供以下属性:
select:要查询的字段列表,默认是”*”,
distinct:是否在查询语句中使用distinct
condition:查询条件,如:'age>31 AND team=1'
params:查询参数,如:array(':name'=>'Dan', ':age'=>31)
limit:最大返回记录条数,如果小于0表示不限制
offset:返回记录的起始位置,如果小于0表示从开始查询
order:排序方式,如:
group:分组方式,如:'projectID, teamID'
join:连接查询方式,如:'LEFT JOIN users ON users.id=authorID'
having:分组条件,如:'SUM(revenue)<50000
本人代码中的一个例子:$criteria=new CDbCriteria; $criteria->select='MessageId,Title,ToUserID,IsRead,PostDate,FromUserID'; $criteria->condition='MessageList.FromUserID='.Yii::app()->user->id; $criteria->order='MessageId desc'; $pages=new CPagination(messagelist::model()->count($criteria)); $pages->pageSize=self::PAGE_SIZE; $pages->applyLimit($criteria); $models=messagelist::model()->with('userList')->findAll($criteria);
lz19881123 深圳
注册时间:2011-07-26
最后登录:2019-05-26
在线时长:7小时52分
最后登录:2019-05-26
在线时长:7小时52分
- 粉丝37
- 金钱1030
- 威望0
- 积分1100