|
|
|
| есть несколько таблиц, в которых хранятся данные на двух языках в соответсвующих полях (descr_en, descr_gr и т.д.)
есть формы для введения и редактирования этих данных в с полями, соответственно, тоже в двух вариантах (en, gr)
я всегда так делала - хочешь, заполняй сразу оба поля. не хочешь, можно потом зайти в редактирование и заполнить.
но клиент попался ламер из ламеров. не хочет видеть в форме одинаковые поля для разных языков. хочет сам выбрать язык, на котором заносятся записи, и заполнять только поля на выбранном языке.
проблема в том, что занеся, допустим, один товар на английском (он занесется, конечно, с пустыми полями на греческом), он через неделю захочет занести ТОТ же товар на греческом, но не пойдет искать его в списке товаров, а сделает ADD, т.е. занесет ТОТ же товар с полями на греческом, но уже с ДРУГИМ id.
я не могу ему запретить делать INSERT, но это будет неправильно, потому что в данном случае должн быть UPDATE. а как же я узнаю, есть ли уже именно этот товар в базе, если у меня нет id, который я могу узнать, только если он выберет уже существующий товар из списка?
надоело бороться с идиотами... | |
|
|
|
|
|
|
|
для: elenaki
(14.01.2011 в 07:35)
| | Ну ID то можно узнать (по отсутствию аналогичной записи на другом языке), а вот как узнать, что пользователь тот же товар вносит, это посложнее, тем более язык другой. | |
|
|
|
|
|
|
|
для: elenaki
(14.01.2011 в 07:35)
| | сделать уникальный ключ по полю естественного уникального идентификатора.
По штрихкоду например.
Вообще-то если клиент принимает участие в формировании модели данных, то такие неувязки стоит утрясать на более ранних этапах - до формирования алгоритмов, и собственно кодирования. | |
|
|
|
|
|
|
|
для: Trianon
(14.01.2011 в 09:13)
| | я просто скрою пока поля (javascript'ом) на втором языке, а в админке напишу огромными красными буквами - "перед тем, как заносить товар, убедитесь, что его нет в списке"
просто этот тип себе же хуже сделает. при занесении товара можно, в случае, если нет нужного произвоителя, внести нового (en, gr). если он внесет производителя только на одном языке, то потом, когда будет заноситься товар на другом языке, придется снова заносить и производителя, которого опять не будет в списке. т.е. получится дублирование.
а все из-за того, что клиент возомнил, что он тоже "программист". с обычными ламерами можно справиться парой-тройкой "научных" терминов. | |
|
|
|
|
|
|
|
для: elenaki
(14.01.2011 в 09:28)
| | Я так понимаю, есть описание товара на двух языках, так? Ну так и надо сделать id товара и два разных описания на разных языках для этого товара. Просто разнести это в соотношении 1-много. Так будет правильней всего. То есть, Трианон правильно все сказал - нужен единственный идентификатор. | |
|
|
|
|
|
|
|
для: SHAman
(14.01.2011 в 10:02)
| | а толку-то :)
Если там клиент - программист, который мнит себя за рамками команды, как заказчик, это ж и вправду тяжелый случай. | |
|
|
|
|
|
|
|
для: Trianon
(14.01.2011 в 10:06)
| | клиент, которому мы делаем сайт, на самом деле не конечный пользователь. он потом все, что мы делаем, передает еще одному. тот как раз обычный ламер и согласился бы с нашими доводами, если б мы могли общаться напрямую.
а этот присылает мне какую-то ссылку на админку (которую, кроме ее мамы никто не знает) и говорит - хочу так. хочешь так - давай код. не дает. я должна догадываться обо всех возможностях неизвестной мне админки... | |
|
|
|
|
|
|
|
для: elenaki
(14.01.2011 в 10:19)
| | ну так вольно ж было впрягаться мышонком эту пищевую цепочку. :) | |
|
|
|