Size: a a a

2020 June 04

ДК

Дмитрий Кожанов... in Laravel Pro
Либо генерация сайтмапа по крону
источник

A

Arman in Laravel Pro
Иван Филатов
если вы хотите чтобы можно было создавать новые записи поверх удаленных - либо отменяйте уникальность поля в бд и перекладывайте валидацию на приложение, либо вам не нужен soft delete
если рядом поставить еще поля и при удалении переносить в них значения из уникальных полей, а уникальные поля в null - полный изврат?
источник

IH

Ihor Hnatchuk in Laravel Pro
там не нужно каждый день нужно генерировать карту сайту,  а когда добавлять будут новые карточки это может быть в разное время, потому подумал, что лучше на событие повесить
источник

ИФ

Иван Филатов... in Laravel Pro
Arman
если рядом поставить еще поля и при удалении переносить в них значения из уникальных полей, а уникальные поля в null - полный изврат?
если вас интересует мое мнение - да. но если у вас реально стоит такая задача, то вариантов решений масса
источник

D

DK in Laravel Pro
Arman
если рядом поставить еще поля и при удалении переносить в них значения из уникальных полей, а уникальные поля в null - полный изврат?
если сможешь такое поддерживать)
источник

A

Arman in Laravel Pro
DK
если сможешь такое поддерживать)
ну там на событие удаление только дописать такое и все. валидаторы и т.д. так и будут работать вроде 🤔
источник

ИФ

Иван Филатов... in Laravel Pro
Arman
если рядом поставить еще поля и при удалении переносить в них значения из уникальных полей, а уникальные поля в null - полный изврат?
проблема в том что софтделит нужен не для того чтобы хранить историю, а для того, чтобы "страницу" (или что угодно") можно было "вернуть" из удаленных
источник

ДК

Дмитрий Кожанов... in Laravel Pro
Вообще использовать обсерверы и эвенты надо осторожно и с умом. Потому что это очень неявная фигня и подходит далеко не для всего
источник

A

Arman in Laravel Pro
Иван Филатов
проблема в том что софтделит нужен не для того чтобы хранить историю, а для того, чтобы "страницу" (или что угодно") можно было "вернуть" из удаленных
верно, я их хочу дать форму что можно вернуть, но она уже по валидатору будет говорить что такое значение как бы заняли уже, придумывай новое
источник

ИФ

Иван Филатов... in Laravel Pro
Arman
если рядом поставить еще поля и при удалении переносить в них значения из уникальных полей, а уникальные поля в null - полный изврат?
если вам нужна история записей с таким слагом - сгенерьте таблицу истории, там не ставьте уникальность поля слаг и просто складывайте туда историю, а в основной таблице не используйте софтделит. делается это очень легко, в элоквенте наверняка есть метод а-ля юишный beforedelete
источник

ИФ

Иван Филатов... in Laravel Pro
Arman
верно, я их хочу дать форму что можно вернуть, но она уже по валидатору будет говорить что такое значение как бы заняли уже, придумывай новое
алоооооооо) так это и есть уникальность поля, вы не должны давать пользователю создать новое поверх существовавшего
источник

ИФ

Иван Филатов... in Laravel Pro
Arman
верно, я их хочу дать форму что можно вернуть, но она уже по валидатору будет говорить что такое значение как бы заняли уже, придумывай новое
что вы тогда пытаетесь добиться, перезаписывая софтделит? вы сами себе противоречите
источник

A

Arman in Laravel Pro
Иван Филатов
что вы тогда пытаетесь добиться, перезаписывая софтделит? вы сами себе противоречите
будет список удаленных записей, по каждой можно будет открыть форму редактирования/создания в которой будут все старые данные (запись еще как удаленная), как только пытаются одобрить и все валидаторы прошли, то deleted_at = null - вернули запись с правками =)
источник

ИФ

Иван Филатов... in Laravel Pro
ну это классический софтделит и уникальность поля с этим никак не пересекается
источник

ИФ

Иван Филатов... in Laravel Pro
так что у вас не работает в итоге? давайте по десятому кругу
источник

A

Arman in Laravel Pro
Иван Филатов
так что у вас не работает в итоге? давайте по десятому кругу
я хочу поставить софтделит и не убирать уникальный ключ. для этого думаю при удалении значения из уникальных полей переносить в другие поля (без уникальных ключей), это мне даст возможность новыми записями занимать значения, а если захотят вернуть старую запись, то я буду говорить что такое значение уже занято новой записью
источник

ИФ

Иван Филатов... in Laravel Pro
Arman
я хочу поставить софтделит и не убирать уникальный ключ. для этого думаю при удалении значения из уникальных полей переносить в другие поля (без уникальных ключей), это мне даст возможность новыми записями занимать значения, а если захотят вернуть старую запись, то я буду говорить что такое значение уже занято новой записью
сделайте уникальное поле nullable и ставьте slug=null при удалении
источник

К

Канат in Laravel Pro
Arman
я хочу поставить софтделит и не убирать уникальный ключ. для этого думаю при удалении значения из уникальных полей переносить в другие поля (без уникальных ключей), это мне даст возможность новыми записями занимать значения, а если захотят вернуть старую запись, то я буду говорить что такое значение уже занято новой записью
А если к слагу при удалении дописывать время ?
источник

ИФ

Иван Филатов... in Laravel Pro
nullable поля (по крайней мере в mysql и думаю в других базах так же) не триггерят уникальное ограничение на null-значение
источник

A

Arman in Laravel Pro
Канат
А если к слагу при удалении дописывать время ?
🤔 хмм. хороший вариант, при восстановлении можно будет назад все удалить
источник