Zprovoznil jsem to a zveřejňuji zde odpověď pro případ, že by někdo v budoucnu potřeboval pomoc.
V podstatě můžeme udělat jednoduché where
dotaz pomocí @>
operátor. A hodnota může být zakódována json s hledaným e-mailem. Následuje dotaz na vyhledání konkrétního e-mailu bez použití whereRaw
metoda.
$contacts = Contact::where("emails", '@>', '[' . json_encode(['value' => $query]) . ']')->get();
Doufám, že to v budoucnu pomůže někomu dalšímu :)