当前位置: 首页 > news >正文

绵阳定制网站建设福田祥菱v1

绵阳定制网站建设,福田祥菱v1,惠东招聘网,关键词优化的原则在Laravel中#xff0c;可以使用where方法来添加查询条件#xff0c;但是每次添加where条件时#xff0c;都会在查询构造器中持久化这些条件#xff0c;直到你手动重置它们。所以#xff0c;如果你想在下一次查询中清除上次查询的where条件#xff0c;有以下几种选择可以使用where方法来添加查询条件但是每次添加where条件时都会在查询构造器中持久化这些条件直到你手动重置它们。所以如果你想在下一次查询中清除上次查询的where条件有以下几种选择 1. 使用getQuery方法 可以使用getQuery方法获取查询构造器的实例并使用wheres属性来获取所有where条件然后使用reset方法重置条件。 $query Model::where(column1, value1)-orWhere(column2, value2); // 获取查询构造器实例 $builder $query-getQuery(); // 清除所有 where 条件 $builder-wheres [];2. 创建新的查询构造器实例 $query Model::query(); // 创建新的查询构造器实例 $query $query-where(column1, value1)-orWhere(column2, value2); // 下一次查询时创建新的查询构造器实例 $query Model::query(); 3. 使用闭包 $query Model::query(); $query $query-where(function ($query) {$query-where(column1, value1)-orWhere(column2, value2); }); // 下一次查询时不添加任何条件 $query Model::query(); 4.如果你想清空某个字段的查询条件可以使用getQuery方法获取查询构造器的实例并使用wheres属性来获取所有的where条件然后遍历条件数组找到需要清空的条件并删除。 以下是一个示例代码片段演示如何清空某个字段的查询条件 $query Model::where(column1, value1)-where(column2, value2)-where(column3, value3); // 获取查询构造器实例 $builder $query-getQuery(); // 获取所有 where 条件 $wheres $builder-wheres;// 遍历条件数组 foreach ($wheres as $key $where) {// 检查条件是否为字段 column2if (isset($where[column]) $where[column] column2) {// 删除条件unset($wheres[$key]);} }// 重新设置查询构造器的 wheres 属性 $builder-wheres $wheres;// 执行查询 $results $query-get(); 在上面的示例中我们首先获取查询构造器实例然后获取所有的where条件并遍历条件数组。如果条件的字段等于 column2我们就删除该条件。最后我们重新设置查询构造器的 wheres 属性并执行查询。 请根据你的具体需求修改示例代码以适应你的查询条件和模型。 public function likeVisit(Request $request){$userId $request-user()-id;$params $request-all();$page $params[page] ?? self::PAGE;$limit $params[limit] ?? self::LIMIT;$type $params[type] ?? 1; //1 我喜欢的 2喜欢我的 3最近来访 4互相喜欢$zSetCache new ZsetCache();$stringCache new SysConfigStringCache();$cacheKey Visit: . $type . _ . $page . _ . $limit . _ . $userId;$stringCache-setKeyParameter([$cacheKey]);$cacheData $stringCache-get();if ($cacheData) {return $this-success(json_decode($cacheData, 320));} else {$info [my_like_user [],like_me_user [],visit_user [],each_like_list [],];$myLikeUserIds UserLike::myLikeUserIds($userId);$likeMeUserIds UserLike::likeMeUserIds($userId);$eachLikeIds array_intersect($myLikeUserIds, $likeMeUserIds);//我已经解锁的用户[喜欢我的 最近来访]$myUnLockId [];if ($type 2 || $type 3) {$myUnLockId UserUnlock::getLockStatus([user_id $userId]);}$select [nickname, birthday, avatar, stature, location_city_id, user_id, like_user_id, ip];$query User::query()-select($select);if ($type 1) { //1.我喜欢的$myLike $query-leftJoin(meet_user_like, meet_user.id, , meet_user_like.like_user_id)-where([user_id $userId, meet_user_like.type 1])-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-orderBy(meet_user_like.id, desc)-offset($page * $limit)-limit($limit)-get();$myLike !empty($myLike) ? $myLike-toArray() : [];foreach ($myLike as $item) {$item[each_like] in_array($item[like_user_id], $likeMeUserIds);}$info[my_like_user] (new UserLike())-formatUser($myLike);} elseif ($type 2) { //2.喜欢我的$query $query-leftJoin(meet_user_like, meet_user.id, , meet_user_like.user_id)-orWhere(function ($query) use ($userId) {$query-where(meet_user.identity_status, 1)-where(meet_user.score, , 70)-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-where([like_user_id $userId, meet_user_like.type 1]);})-orWhere(function ($query) use ($userId) {$query-where(meet_user.status, 1)-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-where([like_user_id $userId, meet_user_like.type 1]);})-orWhere(function ($query) use ($userId) {$query-where(meet_user.vip_status, 1)-where([like_user_id $userId, meet_user_like.type 1])-where(meet_user.status, , User::USER_STATUS_LOG_OFF);});//年龄范围if (isset($params[age_min]) !empty($params[age_min]) isset($params[age_max]) !empty($params[age_max])) {$ageMin now()-subYears($params[age_max])-toDateString();$ageMax now()-subYears($params[age_min])-toDateString();$query-where(birthday, , $ageMin);$query-where(birthday, , $ageMax);}//城市if (isset($params[location_city_id]) !empty($params[location_city_id])) {$query-where(location_city_id, $params[location_city_id]);}//身高if (isset($params[stature_min]) !empty($params[stature_min]) isset($params[stature_max]) !empty($params[stature_max])) {$query-where(stature, , $params[stature_min]);$query-where(stature, , $params[stature_max]);}//学历if (isset($params[education_level]) !empty($params[education_level])) {$query-where(education_level, , $params[education_level]);}$likeMe $query-orderBy(meet_user_like.id, desc)-offset($page * $limit)-limit($limit)-get();$likeMe !empty($likeMe) ? $likeMe-toArray() : [];foreach ($likeMe as $item) {$item[each_like] in_array($item[user_id], $myLikeUserIds);$item[lock_status] isset($myUnLockId[$item[user_id]]);}$info[like_me_user] (new UserLike())-formatUser($likeMe);//销毁动态新增喜欢(红色标记样式)$newLikeMeKey Like:new_like_me_ . $userId;$stringCache-del($newLikeMeKey);} elseif ($type 3) {//3最近来访//销毁动态新增来访$newVisitMeKey Visit:new_visit_me_ . $userId;$stringCache-del($newVisitMeKey);//阅后即焚将该成员销毁掉避免影响新的值比对$visitNumKey Visit:new_visit_num;$zSetCache-zRem($visitNumKey, $newVisitMeKey);//3.最近来访$tomorrow Carbon::tomorrow()-toDateString();$today Carbon::today()-toDateString();$yesterday Carbon::yesterday()-toDateString();$select [nickname, birthday, avatar, stature, location_city_id, user_id, visit_num, meet_user_visit.created_at as visit_time, ip];//$todayVisitKey Visit: . total_visit_ids_ . $userId;//$todayVisitIds $zSetCache-zRangeByScore($todayVisitKey, strtotime(date(Y-m-d)), time()); //今日访客ids//$yesterdayVisitIds $zSetCache-zRangeByScore($todayVisitKey, strtotime(date(Y-m-d, strtotime(-1 day))), strtotime(date(Y-m-d))); //昨日访客ids//$historyVisitIds $zSetCache-zRangeByScore($todayVisitKey, -inf, strtotime(date(Y-m-d, strtotime(-1 day)))); //历史访客ids$recentVisitData [todayVisit [],yesterdayVisit [],historyVisit [],];/*$recentVisit User::query()-select($select)-leftJoin(meet_user_visit, meet_user.id, , meet_user_visit.user_id)-where(visited_id, $userId)-where(avatar, !, ) // 过滤掉空头像用户-orWhere(function ($query) use ($userId) {$query-where(meet_user.identity_status, 1)-where(meet_user.score, , 70)-where(visited_id, $userId)-where(avatar, !, ); // 附加条件})-orWhere(function ($query) use ($userId) {$query-where(meet_user.status, 1)-where(visited_id, $userId)-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-where(avatar, !, ); // 附加条件})-orWhere(function ($query) use ($userId) {$query-where(meet_user.vip_status, 1)-where(visited_id, $userId)-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-where(avatar, !, ); // 附加条件})-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-orderBy(meet_user_visit.id, desc)-offset($page * $limit)-limit($limit)-get();*/$recentVisitQuery User::query()-select($select)-leftJoin(meet_user_visit, meet_user.id, , meet_user_visit.user_id)-where([visited_id $userId])-where(avatar, !, ) //过滤掉空头像用户-where(meet_user.status, , User::USER_STATUS_LOG_OFF) //没有注销的用户-orWhere(function ($query) use ($userId) {$query-where(meet_user.identity_status, 1)-where(meet_user.score, , 70)-where(visited_id, $userId)-where(avatar, !, ); // 附加条件})-orWhere(function ($query) use ($userId) {$query-where(meet_user.status, 1)-where(visited_id, $userId)-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-where(avatar, !, ); // 附加条件})-orWhere(function ($query) use ($userId) {$query-where(meet_user.vip_status, 1)-where(visited_id, $userId)-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-where(avatar, !, ); // 附加条件})-orderByDesc(meet_user_visit.created_at);foreach ($recentVisitData as $key $datum) {if ($key todayVisit) {//今天访客$todayVisit $recentVisitQuery-where(meet_user_visit.created_at, , $today)-where(meet_user_visit.created_at, , $tomorrow)-get()-groupBy(user_id);$todayVisit $todayVisit-isNotEmpty() ? $todayVisit-toArray() : [];$newTodayVisit [];foreach ($todayVisit as $todayItem) {$visitUser (array)$todayItem[0];$visitUser[each_like] in_array($visitUser[user_id], $eachLikeIds);$visitUser[lock_status] isset($myUnLockId[$visitUser[user_id]]);$newTodayVisit[] $visitUser;}$recentVisitData[todayVisit] (new UserLike())-formatUser($newTodayVisit);//dd($recentVisitData[todayVisit]);} elseif ($key yesterdayVisit) {//昨天//1. 获取查询构造器实例$builder $recentVisitQuery-getQuery();//2. 获取所有 where 条件$wheres $builder-wheres;$bindings $builder-bindings;//3. 遍历条件数组foreach ($wheres as $key $where) {// 检查条件是否为字段 column2if (isset($where[column]) $where[column] meet_user_visit.created_at) {//unset($wheres[$key]); // 删除条件if ($wheres[$key][operator] ) {$wheres[$key][value] $yesterday;$bindings[where][$key] $yesterday;} elseif ($wheres[$key][operator] ) {$wheres[$key][value] $today;$bindings[where][$key] $today;}}}//4. 重新设置查询构造器的 wheres 属性$builder-wheres $wheres;$builder-bindings $bindings;// 清除所有 where 条件// $builder-wheres [];//5. 执行查询$yesterdayVisit $builder-get()-groupBy(user_id);//$builder $recentVisitQuery-getQuery();//dd($builder,$builder-bindings);//$yesterdayVisit $builder-where(meet_user_visit.created_at, , $yesterday)-where(meet_user_visit.created_at, , $today)-get()-groupBy(user_id);$yesterdayVisit $yesterdayVisit-isNotEmpty() ? $yesterdayVisit-toArray() : [];$newYesterdayVisit [];foreach ($yesterdayVisit as $item) {$visitUser (array)$item[0];$visitUser[each_like] in_array($visitUser[user_id], $eachLikeIds);$visitUser[lock_status] isset($myUnLockId[$visitUser[user_id]]);$newYesterdayVisit[] $visitUser;}$recentVisitData[yesterdayVisit] (new UserLike())-formatUser($newYesterdayVisit);//dd( $recentVisitData[yesterdayVisit]);} else {//历史来访//1. 获取查询构造器实例$builder $recentVisitQuery-getQuery();//2. 获取所有 where 条件$wheres $builder-wheres;$bindings $builder-bindings;//3. 遍历条件数组foreach ($wheres as $key $where) {if (isset($where[column]) $where[column] meet_user_visit.created_at) {if ($wheres[$key][operator] ) {unset($wheres[$key], $bindings[where][$key]); // 删除条件} else {$wheres[$key][value] $yesterday;$bindings[where][$key] $yesterday;}}}//4. 重新设置查询构造器的 wheres 属性$builder-wheres $wheres;$builder-bindings $bindings;//5. 执行查询$historyVisit $builder-get()-groupBy(user_id);// $historyVisit $recentVisitQuery-withoutGlobalScope(meet_user_visit.created_at)-where(meet_user_visit.created_at, , $yesterday)-offset($page * $limit)-limit($limit)-get()-groupBy(user_id);$historyVisit $historyVisit-isNotEmpty() ? $historyVisit-toArray() : [];$newHistoryVisit [];foreach ($historyVisit as $item) {$visitUser (array)$item[0];$visitUser[each_like] in_array($visitUser[user_id], $eachLikeIds);$visitUser[lock_status] isset($myUnLockId[$visitUser[user_id]]);$newHistoryVisit[] $visitUser;}$recentVisitData[historyVisit] (new UserLike())-formatUser($newHistoryVisit);//dd( $recentVisitData[historyVisit]);}}//dd($recentVisitData);/*if ($recentVisit-isNotEmpty()) {$recentVisit $recentVisit-toArray();$recentVisit (new UserLike())-formatUser($recentVisit);// dd($recentVisit);$visitData $yesterdayVisitData $historyVisitData [];foreach ($recentVisit as $visit) {$visit[each_like] in_array($visit[user_id], $eachLikeIds);$visit[lock_status] isset($myUnLockId[$visit[user_id]]);if ($tomorrow $visit[visit_time] $visit[visit_time] $today) {//今天访客if (!isset($visitData[$visit[user_id]])) {$visitData[$visit[user_id]] $visit;$recentVisitData[todayVisit][] $visit;}} elseif ($today $visit[visit_time] $visit[visit_time] $yesterday) { //昨天if (!isset($yesterdayVisitData[$visit[user_id]])) {$yesterdayVisitData[$visit[user_id]] $visit;$recentVisitData[yesterdayVisit][] $visit;}} elseif ($yesterday $visit[visit_time]) {if (!isset($historyVisitData[$visit[user_id]])) {$historyVisitData[$visit[user_id]] $visit;$recentVisitData[historyVisit][] $visit;}}}unset($visitData, $yesterdayVisitData, $historyVisitData);}*/$info[visit_user] $recentVisitData;unset($recentVisitData);} elseif ($type 4) { //4互相喜欢//$eachLikeIds array_intersect($myLikeUserIds, $likeMeUserIds);$select [id as like_user_id, nickname, birthday, avatar, stature, location_city_id, ip];$eachLikeList User::query()-select($select)-where(meet_user.status, , User::USER_STATUS_LOG_OFF)-whereIn(meet_user.id, $eachLikeIds)-offset($page * $limit)-limit($limit)-get();$eachLikeList !empty($eachLikeList) ? $eachLikeList-toArray() : [];foreach ($eachLikeList as $item) {$item[user_id] $userId;$item[each_like] true;}$info[each_like_list] (new UserLike())-formatUser(array_values($eachLikeList));$info[each_like_count] count($eachLikeIds);}//缓存1小时//$stringCache-set(json_encode($info, 320));//$stringCache-expire(3600);return $this-success($info);}}
http://www.hkea.cn/news/14502036/

相关文章:

  • 长沙做企业网站php 网站建设 教学
  • 网站建设与管理专业的行业发展青岛自动seo
  • 北京网站建设学校无线网络设计实验报告
  • 淘宝发布网站建设创意产品设计及介绍
  • 在国际网站上做贸易怎么发货网站管理建设需进一步加强
  • 湖南建设银行官网网站首页中国建设银行积分网站
  • ui网站设计模板推销网站话术
  • 域名已有服务器也有怎么做网站网页设计具体方案
  • 外链兔seo描述是什么意思
  • 网站建设规划与管理 试卷公司网站建设开源平台
  • 备案关闭网站建设影响地方网站程序
  • 有什么专门搜试卷做的网站零基础可以用阿里云做网站吗
  • 文山州住房和城乡建设网站梅林固件做网站
  • 做棋牌网站赚钱吗淘宝网站建设的目标是什么
  • 用电脑做网站的历史在哪里找wordpress在线储存
  • 怎么自己建一个论坛网站电子商务网站建设与运营 说课
  • 网站安全等级评审在哪里做个人html网站
  • 建设银行网站打不开用什么浏览器wordpress怎么和手机连接数据库
  • 哈尔滨模板建站服务商怎么制作小网站 不用域名的
  • 西安网站设计外包公司做一个公司的门户网站多少钱
  • 河南省豫建设计院网站邢台手机网站建设价格
  • 做几个网站好做网站系统的答辩ppt范文
  • 钦州 网站建设做动态影集的网站
  • 网站建设介绍会发言稿上海做网站待遇
  • 四会市网站建设公司关键词排名优化
  • 阳泉做网站多少钱河北二级建造师考试最新消息
  • 会展相关app和网站的建设情况关键词seo服务
  • 建设银行业务管理中心网站对外贸易平台有哪些
  • 自己如何免费制作一个网站泰安肥城做网站的公司
  • 推广网站平台免费网站出现的问题吗