>  기사  >  백엔드 개발  >  Yii2는 동시에 여러 필드를 검색하는 방법을 실현합니다_php 예제

Yii2는 동시에 여러 필드를 검색하는 방법을 실현합니다_php 예제

WBOY
WBOY원래의
2016-08-17 13:02:311202검색

이 기사의 예에서는 Yii2가 여러 필드의 동시 검색을 구현하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

Yii2의 검색 필드는 단락을 검색하는 데 사용할 수 있는 andFilterWhere 메서드를 사용합니다.

예를 들어 기사 제목과 기사 내용에 검색해야 할 키워드가 포함되어 있는지 검색하는 등 여러 필드를 검색하는 경우 둘 사이의 관계는 or이므로 orFilterWhere 방법

다음은 전체 코드입니다

public function actionIndex()
{
  $key =Yii::$app->request->post("key");
  $query = Post::find()->joinWith('cate');
  $post = $query->orderBy(['post.id' => SORT_DESC])->asArray()->where(['post.status' => 1]);
  if($key){
    $post->andFilterWhere(['like', 'post.title', $key])
      ->orFilterWhere(['like', 'post.content', $key]);
  }
  $pages = new Pagination([
    'totalCount' => $post->count(),
    'defaultPageSize' => 10
  ]);
  $model = $post->offset($pages->offset)->limit($pages->limit)->all();
  return $this->render('index', [
    'model' => $model,
    'pages' => $pages,
  ]);
}

다음과 같은 SQL 문을 볼 수 있습니다.


코드 복사 코드는 다음과 같습니다.
`post`에서 개수(*)를 선택하고 `post`에서 `category`를 결합합니다.`cate_id `=` 카테고리`.`id` 여기서 ((`post`.`status`=1) 및 (`post`.`title` like '%key%')) 또는 (`post`.`content` like ' %key% ') `post`.`id` desc로 주문
`post`에서 `post`.*를 선택하고 `post`에서 `category`를 왼쪽으로 결합합니다.`cate_id`=`category`.`id` 여기서 ((`post`.`status`=1) 및 (`post`. `title` like '%key%')) 또는 (`post`.`content` like '%key%') 순서는 `post`.`id` 설명 제한 10
Yii와 관련된 더 많은 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "Yii 프레임워크 소개 및 일반 기술 요약", "우수한 PHP 개발 프레임워크 요약", "시작하기 위한 기본 튜토리얼"을 확인할 수 있습니다. with Smarty Templates", "php 객체지향 프로그래밍" 디자인 입문 튜토리얼", "php 문자열(문자열) 사용법 요약", "php+mysql 데이터베이스 조작 입문 튜토리얼" 및 "php 공통 데이터베이스 조작 기술 요약"

이 기사가 Yii 프레임워크를 기반으로 PHP 프로그램을 설계하는 데 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.