Возможно, кто-то мне поможет.Laravel, проверьте, имеются ли данные/запись в любой связанной таблице
Структура БД:
users
id, name
storage_items
id, name, user_id
archive_objects
id, name, user_id
В модели пользователя у меня есть:
public function storageItem()
{
return $this->hasOne(StorageItem::class);
}
public function archiveObject()
{
return $this->hasOne(ArchiveObject::class);
}
мне нужно проверить, если данные/запись существует в любой связанной таблице.
Что-то вроде этого:
if (User::has('storageItem')->orHas('archiveObject')->find(1)->count()) {
//exists
}
Это работает:
if (User::has('storageItem')->find(1)->count()) {
//exists
}
и это тоже:
if (User::has('archiveObject')->find(1)->count()) {
//exists
}
но есть два запроса, я нужен один прекрасный запрос :)
A В результате, когда я нажимаю кнопку «Удалить пользователя», перед удалением я проверяю, существуют ли данные/запись в любой связанной таблице, если это правда, появится предупреждающее сообщение об удалении связанных данных/записи (из файлов storage_items или archive_objects) , иначе он удалит только пользователя (от пользователей).
вы можете использовать триггер с внутренней стороны, чтобы сделать это ... –