Size: a a a

Laravel Framework Russian Community

2020 October 26

A

Artur in Laravel Framework Russian Community
Vladimir Yefremov
" Есть таблица с фореин ключом на саму себя."

такое возможно?!
это как?
Например, если есть поле parent_id
источник

VY

Vladimir Yefremov in Laravel Framework Russian Community
Sergey Chizhik
Так же как и с двумя таблицами, только связь делаешь на себя
ок,
и получаем именно ту проблему, как у Антона Кучерявого - в пустую таблицу невозможно ввести значение....
интересно - как ее решить?

у меня в проекте есть подобная проблема, почти такая же
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Vladimir Yefremov
ок,
и получаем именно ту проблему, как у Антона Кучерявого - в пустую таблицу невозможно ввести значение....
интересно - как ее решить?

у меня в проекте есть подобная проблема, почти такая же
nullable колонка и всё
источник

VY

Vladimir Yefremov in Laravel Framework Russian Community
Sergey Chizhik
nullable колонка и всё
та на которую форейн кей ссылается?
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Vladimir Yefremov
та на которую форейн кей ссылается?
Ну да. parent_id или что там будет
источник

VY

Vladimir Yefremov in Laravel Framework Russian Community
Sergey Chizhik
Ну да. parent_id или что там будет
да, для 1-й записи - ОК, а дальше как бы не очень :( - желательно, чтобы все остальные были обязательно с этим парент_ид...
кодом обеспечить?
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Сделай nullable, потом вставь строку, потом сделай не nullable.
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Звучит как дичь, но если надо — вот вариант в две миграции
источник

A

Artur in Laravel Framework Russian Community
Sergey Chizhik
Сделай nullable, потом вставь строку, потом сделай не nullable.
мне кажется, что это не сработает
источник

A

Artur in Laravel Framework Russian Community
Vladimir Yefremov
да, для 1-й записи - ОК, а дальше как бы не очень :( - желательно, чтобы все остальные были обязательно с этим парент_ид...
кодом обеспечить?
проверяй на уровне приложения, чтобы никогда не был нулл и все
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Artur
мне кажется, что это не сработает
Теоретическая возможность есть. Проблема, что у всех записей должен быть проставлен parent_id, даже у корневого элемента.

Нахер это надо — второй вопрос.
источник

A

Artur in Laravel Framework Russian Community
Sergey Chizhik
Теоретическая возможность есть. Проблема, что у всех записей должен быть проставлен parent_id, даже у корневого элемента.

Нахер это надо — второй вопрос.
wat? на какого парента ссылается корневой элемент? что-то тут не так
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Вот именно.
источник

A

Anton in Laravel Framework Russian Community
Artur
wat? на какого парента ссылается корневой элемент? что-то тут не так
Ответив на этот вопрос, мы сможем ответить и на "что было раньше -курица или яйцо")))
источник

A

Anton in Laravel Framework Russian Community
Sergey Chizhik
Теоретическая возможность есть. Проблема, что у всех записей должен быть проставлен parent_id, даже у корневого элемента.

Нахер это надо — второй вопрос.
Не может он быть у всех проставлен. У родительских записей он останется null.
источник

B

Bat in Laravel Framework Russian Community
Sergey Chizhik
Теоретическая возможность есть. Проблема, что у всех записей должен быть проставлен parent_id, даже у корневого элемента.

Нахер это надо — второй вопрос.
типо сделать сидер который отключает проверку форейнов, добавляет запись с парент ИД 1 и ИД 1 и включает проверку ключей?)
источник

B

Bat in Laravel Framework Russian Community
жеска
источник

VY

Vladimir Yefremov in Laravel Framework Russian Community
Sergey Chizhik
Звучит как дичь, но если надо — вот вариант в две миграции
А если в 1-й миграции не писать форейн-кей, но в ней же создать корневого юзера, а 2-й миграцией добавить только ФК.
Не будет ли это "правильнее"?
источник

SC

Sergey Chizhik in Laravel Framework Russian Community
Всё хуйня. Я написал дичь. Делайте nullable и кодом проверяйте
источник

ВС

Владимир Свешников... in Laravel Framework Russian Community
Я не читал всё.. Но похоже кто то проектирует приложение с базы а не с логики приложения 🧐
источник