/**
* 商會商機列表
* @param type $condition
* @param type $field
* @param type $order
* @param type $curpage
* @param type $pageSize
* @return type
*/
public function getTcList($condition,$field="*",$order,$curpage,$pageSize){
//DB::connection()->enableQueryLog();
$obj=TradeChancesModel::from('icc_trade_chances as itc')
->leftJoin("icc_tc_label as itl","itc.id","itl.tc_id")->leftJoin("icc_user as iur","itc.u_id","iur.id");
foreach($condition as $k=>$v){
if(is_array($v)){
if($k=='wherein'){
$obj->whereIn($v[0],$v[1]);
}else{
$obj->where($k,...$v);
}
}else{
$obj->where($k,$v);
}
}
$obj->select(explode(",", $field))->distinct(["itc.id"]);
$count=$obj->count("itc.id");
$pagetotal = ceil($count/$pageSize);
$offset = ($curpage -1) * $pageSize;
$list=$obj->offset($offset)->limit($pageSize)->get();
$pageInfo = [
'total' => $count,
'curpage' => $curpage,
'pagetotal' => $pagetotal
];
return [
'list' => $list,
'pageInfo' => $pageInfo
];
}
public function getProjectList($condition,$field="*",$order,$curpage,$pageSize){
$obj=MemberProjectsModel::with(["projects"=>function($query)use($condition){
//$query->where('p_name',"項目1");
}])->whereHas("projects",function($query){
//$query->where('p_name',"項目1");
});
$obj=$this->sqlCondition($condition,$obj);
$obj->select(explode(",", $field));
$count=$obj->count();
$pagetotal = ceil($count/$pageSize);
$offset = ($curpage -1) * $pageSize;
$list=$obj->offset($offset)->limit($pageSize)->get();
$pageInfo = [
'total' => $count,
'curpage' => $curpage,
'pagetotal' => $pagetotal
];
return [
'list' => $list,
'pageInfo' => $pageInfo
];
}
public function sqlCondition($condition,$obj){
foreach($condition as $k=>$v){
if(is_array($v)){
if($k=='wherein'){
$obj->whereIn($v[0],$v[1]);
}else{
$obj->where($k,...$v);
}
}else{
$obj->where($k,$v);
}
}
return $obj;
}
public function getOneInfo($condition,$field="*"){
$res=TradeChancesModel::from('icc_trade_chances as itc')
->leftJoin("icc_tc_label as itl","itc.id","itl.tc_id")
->leftJoin("icc_user as iur","itc.u_id","iur.id")
->where($condition)
->select(explode(",", $field))
->first();
return $res;
}