<?php
class PowenModel extends Model {
protected $_validate = array(
array('type','require','po文类型必须填写',1),
array('channel_id','require','频道id必须填写',1),
array('president_id','require','商户id必须填写',0),
array('user_id','require','po主id必须填写',1),
array('content','require','内容详情必须填写',0),
array('city_id','require','po文类型必须填写',0),
array('city_name','require','城市名必须填写',1),
array('img_num','require','图片数量必须填写'),
);
protected $_auto = array(
array('po_zan_count',0),
array('po_reply_count',0),
array('add_time', 'time', 1, 'function'),
array('is_top',0),
array('turn', 0),
array('is_show',1),
);
public function setRelationModel($table,$link_table,$current_client_id){
$newModel = new RelationModel($table);
$link = $this->setLink($link_table,$current_client_id);
$newModel->setProperty('_link',$link);
return $newModel;
}
public function setLink($link_table,$current_client_id){
$_link = array(
'powen_reply'=> array(
'mapping_type'=>HAS_MANY,
'class_name'=>'powen_reply_'.$link_table,
'foreign_key'=>'po_id',
'mapping_order'=>'add_time desc',
'condition'=>'replied_client_id is null and is_show=1',
'mapping_limit'=>'4',
'mapping_fields'=>'id,po_id,client_id,content,add_time',
),
'powen_pic'=> array(
'mapping_type'=>HAS_MANY,
'class_name'=>'powen_pic_'.$link_table,
'condition'=>'is_show=1',
'foreign_key'=>'po_id',
),
'powen_zan'=> array(
'mapping_type'=>HAS_MANY,
'class_name'=>'powen_zan_'.$link_table,
'foreign_key'=>'po_id',
'condition'=>'zan_client_id='.$current_client_id,
'mapping_order'=>'add_time desc',
'mapping_fields'=>'id,zan_client_id',
),
);
return $_link;
}
}
?>
$Powen = D('Powen');
//实例化关系模型
$PowenRelation = $Powen->setRelationModel('powen_'.$yearMonth,$yearMonth,$current_client_id);
//最新数据集合$latestLists
$allLists = $PowenRelation->relation(true)->where($where)->order('id desc')->limit(10)->select();