>  기사  >  백엔드 개발  >  laravel에서 다중 조건 퍼지 쿼리를 구현하는 방법과 프런트 엔드 선택 쿼리 옵션이 비어 있을 수 있습니다!

laravel에서 다중 조건 퍼지 쿼리를 구현하는 방법과 프런트 엔드 선택 쿼리 옵션이 비어 있을 수 있습니다!

WBOY
WBOY원래의
2016-12-05 13:44:101698검색

laravel에서 다중 조건 퍼지 쿼리를 구현하는 방법과 프런트 엔드 선택 쿼리 옵션이 비어 있을 수 있습니다! 예를 들어 여기에 제품 테이블이 있고 검색 옵션에는 제품 이름, 제품 가격, 제품 원산지 및 제품 가용성이 포함됩니다. 이러한 쿼리 조건은 비어 있지 않을 수 있지만 여전히 비어 있습니다. 100위안 가격이 이미 진열되어 있는 경우 다른 두 검색 옵션이 비어 있습니다. 예, 아니면 나열된 제품만 쿼리하고 다른 옵션은 비어 있습니다.

답글 내용:

laravel에서 다중 조건 퍼지 쿼리를 구현하는 방법과 프런트 엔드 선택 쿼리 옵션이 비어 있을 수 있습니다! 예를 들어 여기에 제품 테이블이 있고 검색 옵션에는 제품 이름, 제품 가격, 제품 원산지 및 제품 가용성이 포함됩니다. 이러한 쿼리 조건은 비어 있지 않을 수 있지만 여전히 비어 있습니다. 이미 선반에 있는 100위안의 가격으로 다른 두 검색 옵션이 비어 있습니다. 예 또는 나열된 제품만 쿼리하면 다른 옵션이 비어 있습니다.

<code>$handle = DB::table('table_name');

// 如果条件1为真的时候
$keywords1 && $handle->where('field_name','like','%' . $keywords1 . '%');
// 如果条件2为真的时候
$keywords2 && $handle->where('field_name','like','%' . $keywords2 . '%');
// 如果条件3为真的时候
...


// 获取数据
$handle->get();

</code>

ORM인 경우:

<code>$handle = new Model();

 // 如果条件1为真的时候
$keywords1 && $handle->where('field_name','like','%' . $keywords1 . '%');
// 如果条件2为真的时候
$keywords2 && $handle->where('field_name','like','%' . $keywords2 . '%');
// 如果条件3为真的时候
...

一样的</code>

<code class="php">//画蛇添足下
$handle = \DB::table('table_name');
$where = '1=1 ';
if($condition1) {
  $where.= ' and field_name like "%' . $keywords1 . '%"';
} elseif($condition2) {
  $where.= ' and field_name like "%' . $keywords2 . '%"';
}
$res = $handle->whereRaw($where)->get();
</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.