У меня есть сложный построитель запросов, чтобы получить все изображения из изображений с таблицей images_tags
$tags = [1, 2, 3];
$items = ImagesTable::with(['images_tags' => function ($query) use ($tags) {
$tags = $query->select('image_id', ImageTag::raw('count(tag_id) as total'))
->whereIn('tag_id', $tags)
->groupBy('image_id')
->having(['total', 3])
->get();
return $tags;
}])->get();
И два стола
(images)-(images_tags) 1-n
images (
id int
title varchar(255)
)
images_tags (
id int
image_id,
tag_id int
constraints fk foreign key('image_id') on images('id')
)
Но я получаю ошибку
ErrorException в строке Grammar.php 58:
strtolower() ожидает, что параметр 1 будет строкой, заданный объект
И я обнаружил, что этот код строки вызывает ошибку
ImageTag::raw('count(tag_id) as total')
И я не знаю, почему это?