2015-11-30 2 views
17

В Laravel 5.1 есть ли хороший способ проверить, был ли объект эликсильной модели мягко удален? Я не говорю о выборе данных, но как только у меня есть объект, например. Thing::withTrashed()->find($id)Как проверить, не удалена ли строка в «Красноречии»?

До сих пор единственным способом я могу увидеть

if ($thing->deleted_at !== null) { ... } 

Я не вижу соответствующий метод in the API, который позволил бы, например

if ($thing->isDeleted()) { ... } 

ответ

35

Просто понял, что я смотрел в неправильном API , Класс Model не имеет этого, но SoftDelete trait, что мои модели используют метод trashed().

Так что я могу написать

if ($thing->trashed()) { ... } 
+0

Может быть 5,2 отличается, но я попробовал это, и это не сработало. Вместо этого, когда я попытался получить $ thing, где он был мягко удален, Laravel вернул значение null, поэтому я просто проверил 'if ($ thing == null)' –

+0

@ZacharyWeixelbaum. Вы использовали 'withTrashed()' для извлечения элемента, поскольку я упоминается в вопросе? В противном случае вы не получите удаленных записей. – DisgruntledGoat

+0

Вы правы, я этого не видел. –

 Смежные вопросы

  • Нет связанных вопросов^_^