запись результата функции в объект данных

#php #silverstripe

#php #серебристая полоса

Вопрос:

На данный момент я немного застрял, у меня есть функция (это работает нормально), которая выглядит следующим образом.

 function Addab()
 {
  $a = 1
  $b = 2
  $c = $a $b;
  return $c;
 }
  

Эта функция вызывается из расширения объекта данных, называемого Quote функция работает как ожидалось и возвращает ответ в шаблоне, как и ожидалось.
Я хотел бы также сохранить эти результаты в другом объекте данных, который называется Archive .
Я просто не уверен, как вызвать функцию из архива (при сопоставлении идентификатора цитаты, который также необходимо записать в архив), а затем записать его в архив, чтобы он сохранялся таким, какой он есть на момент запуска архива.

Причина этого в том, что если цены изменяются, пока предложение является текущим, это изменит предложение. и мне нужно вести учет цитат для последующего использования.

Надеюсь, этого достаточно подробно, если требуется больше, пожалуйста, спросите

любая помощь или идеи будут приняты, спасибо

Комментарии:

1. Я думаю, вам нужно добавить еще несколько деталей к вашему вопросу. В какую таблицу вы бы ввели этот результат? Будет ли это определенная строка? Что могло бы вызвать это? Что вы пробовали до сих пор? Немного больше деталей, и мы сможем вам быстро помочь.

Ответ №1:

Если вы имеете в виду, что хотите добавлять архив каждый раз, когда запускаете функцию addab(), вы могли бы просто сделать:

 function Addab()
 {
  $a = 1
  $b = 2
  $c = $a $b;
  $archive = Object::create('Archive');
  $archive->c = $c;
  $archive->write();
  return $c;
 }
  

Но, возможно, я просто не понимаю вашего вопроса.

Комментарии:

1. Спасибо за ваш ответ, извините, вопрос все еще немного напыщенный, у меня были проблемы с его получением в основном потому, что я расстраивался. Мне пришлось немного поработать над этим, поэтому я скоро опубликую ответ

2. хорошо, теперь у меня это работает, вместо того, чтобы создавать новый архив каждый раз, когда вызывается функция, мне просто нужно было получить объект для записи. вместо ‘code’$archive = Object::create(‘Archive’);’code’ я использовал ‘code’ $archive = object::get()->filter(array(‘SomeID’ => $this->ID))->first();’код’ я отмечу это как правильный ответ, потому что это приведет меня к ответу. спасибо за вашу помощь