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>