qeephp数据查询(多表查询)

多表查询--顾名思义是通过查询多个表得到想要的数据。

这里依然使用Events模型为例,events表(表中含有一些字段,例如:id[事件id],user_id[创建事件的用户的id],name[事件的名字],description[事件的描述],dateline[创建事件的日期]);

eventdate表中存放events表中事件的举办日期(其中字段有:id[主键],event_id[事件id],dateline[事件举办时间]);此表中的event_id关联events表中的id字段。

创建好模型后,我们要查询events表得到事件信息同时按事件举办日期进行排序,这就关系到了多表查询:

$event_id = 1;

$eventUserId = 4;

//获取数据库连接

$conn = QDB::getConn();

//创建一个选择器对象

$select = new QDB_Select($conn);

//选择要查询的表

$select->from('event', 'id,name');

//左连接一个表

$select->joinLeft('eventdate', '*', 'event.id = eventdate.event_id');

//查询条件

$select->where('event.id != ? and user_id = ?',$event_id,$eventUserId);

//排序

$select->order('eventdate.dateline DESC');

//返回结果集

$anothers_evnents = $select->get(5);

//渲染视图

$this->_view['anothers_events'] = $anothers_evnents;

可用dump($anothers_events); 输出查看所查询的结果集。

你可能感兴趣的:(qeephp数据查询(多表查询))