콘텐츠로 건너뛰기
리뷰나라
  • JAVASCRIPT
  • JAVA
  • PYTHON
  • C#
  • Android
  • Html

[orm] 라 라벨에서 Eloquent ORM을 사용하여 LIKE를 사용하여 데이터베이스 검색 수행

Program / 글쓴이 어드민

Eloquent의 활성 레코드 빌딩을 사용하여 검색 쿼리를 작성하고 싶지만 LIKE 검색이 될 것입니다. 나는를 발견 User::find($term)하거나 User::find(1), 그러나 이것은 같은 문을 생성하지 않습니다. 나는 직접적인 대답을 찾고 있지는 않지만 누군가가 적어도 나에게 방향을 알려줄 수 있다면 그것은 좋을 것입니다!



답변

다음 구문으로 LIKE를 사용하여 데이터베이스 찾기를 수행 할 수 있습니다.

Model::where('column', 'LIKE', '%value%')->get();


답변

LIKE를 자주 사용해야하는 경우 문제를 약간 단순화 할 수 있습니다. Eloquent ORM을 상속하는 모델에서 ()와 같은 사용자 지정 메서드를 만들 수 있습니다.

public  function scopeLike($query, $field, $value){
        return $query->where($field, 'LIKE', "%$value%");
}

따라서 다음과 같은 방식으로이 방법을 사용할 수 있습니다.

User::like('name', 'Tomas')->get();


답변

참고로 연산자 목록 ( like 및 기타 모두 포함)은 코드에 있습니다.

/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php

protected $operators = array(
    '=', '<', '>', '<=', '>=', '<>', '!=',
    'like', 'not like', 'between', 'ilike',
    '&', '|', '^', '<<', '>>',
    'rlike', 'regexp', 'not regexp',
);

부인 성명:

Joel Larson의 대답이 맞습니다. 내 찬성 투표를 받았습니다.

나는이 대답은 설득력 ORM을 통해 (사용 가능한 무엇에 더 많은 빛을 비춰 바라고 있어요 권리 직접에서 포인트 명 ). 문서에 대한 링크가 훨씬 낫지 만 그 링크는 그 자체로 이해하기 어려운 것으로 입증되었습니다.


답변

작은 따옴표 대신 큰 따옴표를 사용하십시오.

where('customer.name', 'LIKE', "%$findcustomer%")

아래는 내 코드입니다.

public function searchCustomer($findcustomer)
{
    $customer = DB::table('customer')
                  ->where('customer.name', 'LIKE', "%$findcustomer%")
                  ->orWhere('customer.phone', 'LIKE', "%$findcustomer%")
                  ->get();

    return View::make("your view here");
}


답변

나처럼 큰 따옴표가 마음에 들지 않으면 작은 따옴표로 작동합니다.

$value = Input::get('q');
$books = Book::where('name', 'LIKE', '%' . $value . '%')->limit(25)->get();

return view('pages/search/index', compact('books'));


답변




글 탐색

← 이전 글
다음 글 →

최신 글

  • [java] .pem 파일을 읽고 개인 및 공개 키를 얻는 방법
  • [javascript] 페이지의 모든 AJAX 요청에 “후크”추가
  • [android] ListView가 접히지 않고 어떻게 ScrollView에 넣을 수 있습니까?
  • [linux] Apache 서버의 루트 디렉토리를 어떻게 변경합니까? [닫은]
  • [ios] Swift에서 Int를 Hex String으로 변환하는 방법
  • [python] 등급 시스템 기능에서 반복적 인 if-elif 문을 어떻게 단순화 할 수 있습니까?
  • [c#] C #에서 스택 오버플로 예외 포착
  • [windows] Windows의 /usr/local/ssl/openssl.cnf에서 구성 정보를로드 할 수 없습니다
  • [twitter-bootstrap] Bootstrap을 사용하여 모바일에 테이블을 표시하는 방법은 무엇입니까?
  • [windows] BATCH 스크립트에서 무작위로 사용하는 방법은 무엇입니까?

카테고리

태그

.net android angular angularjs arrays asp.net asp.net-mvc bash c c# css database django docker html ios iphone java javascript jquery json linux macos mysql node.js objective-c pandas php postgresql python r reactjs regex ruby ruby-on-rails shell sql sql-server string swift typescript unix visual-studio windows xcode
Copyright © daplus.net - Powered by Naya