Я хочу заполнить пустую модель и сохранить модель в поле blob для последующего использования. Моя проблема в том, что я не могу найти, как добавить строку anouter в пустую модель.добавить строку к модели
это работает:
$test = LineItem::model();
$test->item_id = '2';
Это не работает
$test->1->item_id = '3';
или
$test->item_id[1] = '3';
Я попытался посмотреть в документации Yii, но я не смог найти ответ.
Благодаря
Разъяснение Im пытаясь создать ложную таблицу, используя модель реальной таблицы. Я работаю над системой выставления счетов, и я не хочу править позиции или информацию тела счета в БД до тех пор, пока она не будет закрыта. Вместо этого я хочу заполнить соответствующие модели, которые затем будут сериализованы и сохранены в поле BLOB. Как только счет будет завершен, данные будут записаны в таблицу.
Я не уверен, что вы делаете это правильно. Сериализация строки модели, вставка ее в BLOB в базе данных в памяти звучит как много хлопот - я думаю, что было бы лучше записать ее в реальную строку базы данных, но с буфером 'is_closed', который вы можете установить когда счет-фактура закрывается. – halfer
@halfer, Спасибо за предложение. Я на самом деле делаю это сейчас, но это вызывает проблему без последовательных номеров счетов. Если окно закрывается или счет не завершен, он остается открытым в БД. Я надеялся избежать этого. Я также хотел использовать вышеупомянутую схему как метод отслеживания и архивирования для изменений. Размышляя об этом в выходные, я могу вернуться к моей предыдущей схеме массивов и отказаться от использования моделей БД. –
Я думаю, что это нормально для того, чтобы «сидеть открытыми» в db, до тех пор, пока пользователь явно не закрывает его. Если ваша проблема заключается в том, что номера счетов-фактур _should_ должны быть последовательными, а в настоящее время их нет, то интересно, пытаетесь ли вы использовать первичный ключ в качестве номера общего счета? Я думаю, что это не может быть лучшим решением; первичные и внешние ключи предназначены для ссылочной целостности, а не для ссылки на человека. Добавьте еще один столбец (с уникальным ограничением, если это необходимо) для вашего последовательного номера счета-фактуры клиента - и, если это необходимо для вашей ERD-версии, его можно обнулить, так что только реальные счета-фактуры («закрыты»?) Получают один. – halfer