Я использую базовую модель для всех моделей, где я использую функцию логического удаления, переопределяющую функцию удаления по умолчанию, и в то же время я также переопределяю метод find(), чтобы отображались только те записи, которые логически не удалены. Теперь у меня есть правило в одной из моих моделей, чтобы проверить, взята ли уже комбинация двух значений или нет. Кажется, здесь также используется метод find(). Если комбинация уже есть, но логически удалена, я не получу сообщение об ошибке, что это уже было принято в прошлом. Потому что, если пользователь еще раз создаст запись с теми же значениями, я бы предпочел разблокировать ее (или удалить ее логическое удаленное состояние). Есть ли обходной путь для этого? Может со сценариями? Я понятия не имею, как я могу настроить метод find() для поиска не только логически не удаленных записей, но только при проверке на вставку. В противном случае мне пришлось бы удалить
...find()->where(['softDeleteTimestamp' => NULL])
из моей базовой модели и добавить во все поисковые модели, что было бы не очень приятно. Спасибо.