Reputation: 649
I have some difficulty to update a page by selecting is version... To Create, I do this :
$PageCalendrierEvenement = new PageCalendrierEvenement();
$PageCalendrierEvenement->Title = $this->request->postVar('Titre');
$PageCalendrierEvenement->MenuTitle = $this->request->postVar('Titre');
$PageCalendrierEvenement->URLSegment = Utils::remplacerEspaces(Utils::remplacerAccents($PageCalendrierEvenement->Titre));
$PageCalendrierEvenement->publish('Stage');
$PageCalendrierEvenement->doRestoreToStage();
That work's very well. But how can we update it values by ID? Is it possible witout using DB:Query?
$evens = Versioned::get_by_stage('PageCalendrierEvenement', 'Stage')->byID($evenID);
$evens->Title = $this->request->postVar(Titre);
$evens->Publish('Stage');
Upvotes: 1
Views: 925
Reputation: 4626
For subclasses of SiteTree you can just do:
$evens = Versioned::get_by_stage('PageCalendrierEvenement', 'Stage')->byID($evenID);
$evens->Title = $this->request->postVar(Titre);
//do whatever you want...
$evens->doPublish(); //writes to Stage and Live and does other stuff for SiteTree
For simple DataObjects you need to call:
//changed a bit...
$evens->write();
$evens->publish("Stage", "Live");
Upvotes: 2