What does some
do?
The some
keyword lets you filter a parent record based on whether
at least one related record matches the provided conditions.
It is ideal for many-to-many or one-to-many relations where you need “at least one” logic.
Supported Operations
findMany
findFirst
findFirstOrThrow
findUnique
findUniqueOrThrow
aggregate
count
groupBy
Example: Filtering by Related Models using some
use Lib\Prisma\Classes\Prisma;
$prisma = Prisma::getInstance();
$icons = $prisma->icon->findMany([
'where' => [
'categories' => [
'some' => [
'name' => [
'equals' => $categoryName
]
]
]
],
'include' => [
'categories' => true
],
'orderBy' => [
'name' => 'asc'
]
]);
echo "<pre>";
echo "Icons found: " . print_r($icons, true);
echo "</pre>";
This query returns all icon
records that belong to at least one category whose
name
equals $categoryName
. The some
operator guarantees that the parent
record is included if any related record matches the condition—perfect for “has one or more” scenarios.