Jump to:

3429 Posts in 1057 Topics by 734 members

Data Model Questions

SilverStripe Forums » Data Model Questions » trying to save custom data to image-table; almost there

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Page: 1
Go to End
Author Topic: 892 Views
  • theAlien
    Avatar
    Community Member
    131 Posts

    trying to save custom data to image-table; almost there Link to this post

    Hi,

    I'm trying to save custom data to the image-table.
    I thought it should be possible with $casting, but it appears not...

    With $this->Description the table-column has value NULL.
    If I'm hardcoding some value instead (like 'MyTestValue'), the tablecolumn will get the value 'MyTestValue'.

    Since the hardcoding works, everything else seems right.
    So it has something to do with the $casting and my calling of it.

    Can someone shed a light on it?
    Code is below.

    Thanks a lot!

    class ImagePage extends Page {

       public static $has_one = array(
          'testImage' => 'Image'
       );
       
       static $casting = array(
          "Description"   => "Varchar",
       );

       public function getCMSFields() {
          $fields = parent::getCMSFields();

          $testImage = new ImageField('testImage','Image');
          $description =    new TextField('Description','Description');
          $fields->addFieldsToTab("Root.Content.Image", array(
             $testImage,
             $description,
          ));

          return $fields;
       }

       public function onBeforeWrite() {

          $myImage = DataObject::get_by_id('Image',$this->testImageID);

          if($myImage){
             $myImage->Description = $this->Description;
             $myImage->write();
          }
          
          parent::onBeforeWrite();
       }
    ...

    892 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.