
Евгений
19.09.2018
12:11:58
а кстати, как правильно хранить такую инфу. Например товар купили, оплатили, в истории заказов у юзера он лежит. Потом у товара меняют цену. В истории же не надо менять цену. Как тут сделать хранение всех заказов? (не только цены касается)

Adel
19.09.2018
12:12:17
там же могут быть и примененные скидки и т.д.

Евгений
19.09.2018
12:12:38
о как

Google

Subb98
19.09.2018
12:12:51
да нет смысла удалять данные. почти никогда.
вот тебе реальный кейс. я удаляю старые вложения с сервера, которые должны были быть удалены, но из-за кривой логики этого не произошло. я по твоему мнению должен за каким-то волшебным макаром оставить все записи, связанные с этими вложениями?

Евгений
19.09.2018
12:12:53
интересно, спасибо

Adel
19.09.2018
12:13:41

Subb98
19.09.2018
12:13:47
фотки к объявлениям, если быть точным

Sergey
19.09.2018
12:14:06

Adel
19.09.2018
12:14:23

Subb98
19.09.2018
12:14:32

Adel
19.09.2018
12:14:35
ну и само по себе такая структура - это не сущности. это тупо служебные вещи
они как очереди
со вполне определенным лайф циклом
фоточки.. если хочешь удаляй. но скажу по секрету.. всякие вконтакты фоточки не удаляют.
им это дорого выйдет

Google

Sergey
19.09.2018
12:15:36

Adel
19.09.2018
12:15:38
они просто забывают что на этом месте фотка была

Subb98
19.09.2018
12:16:06

F01134H
19.09.2018
12:16:07

Adel
19.09.2018
12:16:10

Subb98
19.09.2018
12:16:19
и ты мне можешь ответить только то, что так типа не делается.
потому что так не делается

Adel
19.09.2018
12:16:25

Sergey
19.09.2018
12:17:02

Adel
19.09.2018
12:17:17

Denis
19.09.2018
12:17:32
Opencar

Subb98
19.09.2018
12:17:38

F01134H
19.09.2018
12:17:42

Adel
19.09.2018
12:17:51
я вообще про базу говорил

Subb98
19.09.2018
12:18:07
и о записях, которые ко вложениям относятся

Adel
19.09.2018
12:19:06
вставить на пустое место другой файл - не получится. точнее получится если он идеально подойдет по размеру... или меньше. но кому нужен такой гемор?

Nikitcat
19.09.2018
12:19:59

Google

Adel
19.09.2018
12:20:25

Subb98
19.09.2018
12:20:31

Adel
19.09.2018
12:20:39
:-P

Subb98
19.09.2018
12:20:50
и я решил, что лишние записи мне ни к чему в БД
даже с sd

Adel
19.09.2018
12:21:33
ой. почти всегда это экономия на копейках.
есть поговорка - "копейка рубль бережет". это поговорка бедных. я думаю, что экономя копейку можно просрать шанс заработать рубль

Subb98
19.09.2018
12:22:30
место на ЖД - это я про файлы (вложения)
а не про записи в бд

Евгений
19.09.2018
12:22:45
чот у меня зубы скрипят от слова Вложения

Adel
19.09.2018
12:22:51
вот нахера нам тут твои файлы а? :))

F01134H
19.09.2018
12:22:55
ВЛОЖЕНИЯ

Subb98
19.09.2018
12:22:58

Евгений
19.09.2018
12:23:02
да)

Subb98
19.09.2018
12:23:11
выше написал, причём

F01134H
19.09.2018
12:23:26
в масштабах вк может и выгодно забивать на занятое место

Google

F01134H
19.09.2018
12:23:51
в масштабах сервиса на 10к юзеров - невыгодно)

Adel
19.09.2018
12:24:20

F01134H
19.09.2018
12:24:52
Да там главная проблема даже не в занятом месте, а в цене на трафик)

Nikitcat
19.09.2018
12:25:02
а не засоряет ли это бд?
как бы админ хочет удалить этот товар, а у него он будет в бд
или я неправильно понимаю сд?

F01134H
19.09.2018
12:25:15
да неправильно

Nikitcat
19.09.2018
12:26:55
ну софт делит это юзер удаляет запись, но в бд она хранится как IsDEleted - true

Adel
19.09.2018
12:27:00

Nikitcat
19.09.2018
12:27:08
ааааа

Adel
19.09.2018
12:27:10
он будет только в базе. но помеченный как удаленный

Nikitcat
19.09.2018
12:27:13
то есть запись удалится?

Subb98
19.09.2018
12:27:25
крч, физически запись остаётся
у неё появляется свойство "меня нет, я в домике"
так понятно?

Евгений
19.09.2018
12:28:02
если оооочень надо будет то можно делитнуть полностью

Subb98
19.09.2018
12:28:05
и при желании ты можешь получить доступ к этой записи
:D
без ебли не удалит

Евгений
19.09.2018
12:28:42
ну если в таблице настроить каскадное удаление то не пошлет

Google

Евгений
19.09.2018
12:28:48
только в его кейсе это не надо

Subb98
19.09.2018
12:28:56
отключать параметры проверки fk придётся перед дропом как минимум

Nikitcat
19.09.2018
12:29:38
я ж об этом и говорю. А как оно будет реагировать если есть уникальный штрих-код, а юзер его удалил(он то не знает что софт делит идет) и со временем он добавляет товар, и его может не пропустить, т.к. такое значение уже есть?
тогда есть смысл хранить это не как фк, а просто сделать product_id и заносить туда

Евгений
19.09.2018
12:30:12
ну слушай, ты нам весь свой кейс не рассказываешь же

Nikitcat
19.09.2018
12:30:13
при удалении будет всё норм

Subb98
19.09.2018
12:30:37
не проще поднять тестовую бд и попробовать?

Adel
19.09.2018
12:31:51
ну тогда кейс усложняется. тебе придется вручную софт делит реализовать.
сделать active. пока true - это обычный товар. false - "удаленный"
при попытке добавить мы проверяем штрих и корректно обрабатываем этот момент. типа такой товар уже был и был удален. че будем делать

F01134H
19.09.2018
12:32:42

Adel
19.09.2018
12:33:06
Тебя Субботин укусил?

Володимир
19.09.2018
12:33:13
Привет ребята
подскажите пожалуйста
если у меня 2 таблицы
1 таблица этот заказ Order
2 таблица это детали заказа DetailsOrder
и например мне нужно в деталях заказ вывести id заказ
допустим это будет поле quote
в моделе DetailsOrder я укажу так
{
protected $fillable = [
'quote', 'pieces', 'lenght', 'width', 'height', 'stackable', 'weight_per_piece'
];
protected $table = 'DetailsOrder’;
}
public function order()
{
return $this->hasOne(Order::class);
}
так будет правильно ??
или уже в $fillable = [ не надо указивать 'quote',

F01134H
19.09.2018
12:33:28

Nikitcat
19.09.2018
12:55:01
хм. А просто хранить в таблице не фк ключ, неправильно что ли?

Adel
19.09.2018
12:56:24
но как ты потом найдешь какой товар был куплен?