> 데이터 베이스 > MySQL 튜토리얼 > Laravel의 JSON 열 내에서 이메일을 검색하는 방법은 무엇입니까?

Laravel의 JSON 열 내에서 이메일을 검색하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-29 07:13:02
원래의
323명이 탐색했습니다.

How to Search for Emails Within a JSON Column in Laravel?

JSON 열 검색을 위한 설득력 있는 쿼리

Laravel에서 JSON 열을 검색하는 것은 어려울 수 있습니다. 이 기사에서는 이메일 주소를 JSON 형식으로 저장하는 "받는 사람" 열과 관련된 특정 시나리오를 자세히 살펴보겠습니다.

문제

다음과 같은 "받는 사람" 열이 주어졌습니다. 다음과 같은 JSON 데이터:

<code class="json">[
    {
        "emailAddress": {
            "name": "Test", 
            "address": "test@example.com"
        }
    }, 
    {
        "emailAddress": {
            "name": "Test 2", 
            "address": "test2@example.com"
        }
    }
]</code>
로그인 후 복사

목표는 "test@example.com"으로 보낸 이메일을 검색하는 것입니다. whereJsonContains('to->emailAddress->address', 'test@example.com')을 사용하면 결과가 반환되지 않습니다.

해결책

문제가 있습니다. 화살표 연산자(->)를 사용합니다. JSON 배열에서는 화살표 연산자가 지원되지 않습니다. 대신 이중 대괄호 표기법([['emailAddress' => ['address' => 'test@example.com']]])을 사용해야 합니다.

수정된 쿼리는 다음과 같습니다.

<code class="php">DB::table('emails')
   ->whereJsonContains('to', [['emailAddress' => ['address' => 'test@example.com']]])
   ->get()</code>
로그인 후 복사

이 쿼리는 "받는 사람" 열에 "test@example.com"을 포함하는 모든 이메일을 반환합니다.

위 내용은 Laravel의 JSON 열 내에서 이메일을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿