laravel 필드 의 값 에 따라 서로 다른 조 회 를 실현 합 니 다.
예 를 들 어 하나의 정보 표 message,필드 type 1.조작 알림 2.플랫폼 알림,표 messageread 기록 정보 가 플랫폼 알림 일 때 사용자 조회 상황
그러면 정보 가 플랫폼 알림 일 때 모든 사용 자 를 대상 으로 합 니 다.저 희 는 그 가 조회 하 는 상태 에 따라 메시지 알림 에 읽 지 않 은 메 시 지 를 표시 하고 싶 습 니 다.
문장 은 다음 과 같다(laravel)
public function index()
{
// sql
// DB::listen(function($query) {
// $bindings = $query->bindings;
// $sql = $query->sql;
// foreach ($bindings as $replace){
// $value = is_numeric($replace) ? $replace : "'".$replace."'";
// $sql = preg_replace('/\?/', $value, $sql, 1);
// }
// dd($sql);
// });
$uid = 13;
return MessageModel::where(function($query) use($uid){
$query->where(['type'=>2,'status'=>1,])->whereNotIn('id',function($query) use($uid){
$query->select('mid')->from('message_read')->where([['message.id','=',DB::raw('mid')],'uid'=>$uid]);
});
})->orwhere(function($query) use($uid){
$query->where(['type'=>1,'status'=>1,'is_read'=>2,'uid'=>$uid]);
})->get();
}
데이터 시트 형식
CREATE TABLE `message` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) DEFAULT NULL COMMENT ' id',
`title` varchar(255) NOT NULL COMMENT ' ',
`describe` varchar(255) DEFAULT NULL COMMENT ' ',
`type` tinyint(4) DEFAULT NULL COMMENT ' 1. 2. ',
`is_read` tinyint(4) DEFAULT NULL COMMENT ' 1. 2. ',
`status` tinyint(4) DEFAULT '1' COMMENT '1 2 ',
`created_at` int(11) DEFAULT NULL,
`updated_at` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT=' ';
CREATE TABLE `message_read` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) DEFAULT NULL COMMENT ' id',
`mid` int(11) DEFAULT NULL COMMENT ' id',
`created_at` int(11) DEFAULT NULL,
`updated_at` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT=' ';
이상 의 이 laravel 은 필드 의 서로 다른 값 에 따라 서로 다른 조 회 를 하 는 것 이 바로 편집장 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.