` 일과 해결책은 무엇입니까? " />
Laravel을 사용하여 JSON 열에서 이메일 찾기
Laravel은 JSON 데이터베이스 작업을 위한 강력한 도구를 제공하므로 개발자는 복잡한 데이터를 효율적으로 저장하고 검색할 수 있습니다. 일반적인 작업은 JSON 열 내에서 검색하는 것으로, JSON 데이터의 특성으로 인해 어려울 수 있습니다.
문제: JsonContains 쿼리가 일치하지 않습니다
제공된 예에서 사용자는 JSON 열이 있는 테이블에서 특정 주소가 있는 이메일을 검색하려고 합니다. 그러나 whereJsonContains를 사용하는 쿼리는 결과를 반환하지 않습니다. 이는 JSON 하위 쿼리가 화살표 연산자("->")를 사용할 수 없기 때문입니다. )를 배열 컨텍스트에 포함합니다.
해결책: 쿼리에 배열 사용
JSON 배열 내에서 검색하려면 Laravel에서는 쿼리에 "whereJsonContains" 배열을 사용해야 합니다. 메소드는 각 요소가 일치 기준을 나타내는 배열을 두 번째 매개변수로 사용합니다.
이 경우 올바른 쿼리는 다음과 같습니다.
<code class="php">DB::table('emails') ->whereJsonContains('to', [['emailAddress' => ['address' => '[email protected]']]]) ->get();</code>
하위 쿼리에서 배열을 사용하면 Laravel은 지정된 주소를 가진 이메일을 올바르게 검색할 수 있습니다. 이는 화살표 연산자가 배열에서 작동하지 않는 문제를 해결하고 쿼리가 원하는 결과와 일치하도록 보장합니다.
이 접근 방식을 사용하면 개발자는 복잡한 JSON 열에서 데이터를 효과적으로 검색할 수 있으므로 작업에 유용한 도구가 됩니다. Laravel 애플리케이션에서 JSON 데이터베이스를 사용합니다.
위 내용은 Laravel의 whereJsonContains를 사용하여 JSON 열에서 이메일을 찾는 방법: `->`가 작동하지 않는 이유와 해결책은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!