Вы можете сделать что-то вроде этого.
$records = YourModel::where('id', DB::select("SELECT id FROM data WHERE (name,value) IN (('userName', '100'), ('domain', '1591.xpto.xyz' )) group by id having count(distinct VALUE) = 2"))->select(['token', 'appid'])->get();
Но, глядя на приведенный выше запрос, кажется, что было бы хорошим выбором, если бы мы выполнили полный необработанный запрос, например
$records = DB::select("SELECT token,appid FROM tokens WHERE id = (SELECT id FROM data WHERE (name,value) IN (('userName', '100'), ('domain', '1591.xpto.xyz' )) group by id having count(distinct VALUE) = 2);");