|
|
Stephen,
STILL NOT WORKING... :(
Thanks for the reply and suggestion. However the method you suggested
gives me different results.
This is what I ended up using:
[code]
$mySaveId = $this->Network->id = $nId;
$networkId = $this->Network->save($this->data);
[/code]
Nothing is "saved" (editing record) or even "inserted" (if it is a new
record) I am really not sure what is happening. LIke I was saying it
feels like I am losing the Variable value $nId. $nId is being passed
by assessing the method "/networks/add_network/<nId>"
So I am really confused! :P Thank you for the corrected method though
of saving record via primary key with Model->id=$val I didn't realize
that was the documented way of doing things.
On Feb 11, 2:46 am, Stephen Speakman <step...@xxxxxxxxxxxxxxxxxxxxxx>
wrote:
> It's possible your $_SESSION['nId'] is actually overwriting the
> parameter being passed to the controller with 0?
> Assuming you're accessing the method like such: /networks/add_network/<nID>
>
> If you want to avoid creating a new record try:
>
> $this->Network->id = $nId;
> $this->Network->save($this->data);
>
> Kind Regards
> Stephen
>
> On 11/02/2012 08:44, chris varick wrote:
>
>
>
>
>
>
>
> > I am hoping someone can help me out here. I am pulling my hair out.
> > For some reason when I go to save "edited" information, form a form,
> > it is creating an entire new record in the database instead of just
> > updating the current record at hand.
>
> > I am using variable $nId to reference the record id on _save(); For
> > some reason it is setting the $nId to 0. I do not know what is
> > happening. Any suggestions?
>
> > Take a look at the line that has: $mySaveId = ($nId)?$nId:0; you will
> > see where I attempt to save to the current record.
>
> > [code]
>
> > public function add_network($nId = 0)
> > {
>
> > // Capture for Debuging
> > $_SESSION['nId'] = $nId;
>
> > if($nId){
> > $net_info = $this->Network->find('first',
> > array('conditions' => array('id' => $nId)));
> > self::set('network', $net_info);
> > self::set('page_title', "View | Edit Network".
> > $net_info['Network']['network_name']." ID: ".$_SESSION['nId']);
> > } else {
> > self::set('network', null);
> > self::set('page_title', "Add Network");
> > }
>
> > $alert = null;
>
> > if ($this->data['network']) {
> > if ($this->data['network']['network_name']) {
> > $data['network_name'] = addslashes($this-
> >> data['network']['network_name']);
> > $data['sub_id'] = addslashes($this->data['network']
> > ['sub_id']);
> > $data['active'] = 1;
>
> > //Save form data to Networks database.
> > //If we are editing a network, then make sure to save
> > data to record ID ($nId)
> > $mySaveId = ($nId)?$nId:0;
> > $networkId = $this->Network->_save($mySaveId, $data);
>
> > if ($networkId == $mySaveId) {
> > $alert = "Changes to network: ".
> > $data['network_name']." were saved.";
> > } else {
> > $alert = "New network: ".$data['network_name']."
> > was added.". " ".$networkId;
> > }
> > }
> > }
>
> > switch($this->data['window']['flag']){
> > case "networks":
> > self::redirect("/admin/manage_network");
> > break;
>
> > } // switch
>
> > self::set('logo', $this->Session->read('logo'));
> > self::set('wbtitle', $this->Session->read('wbtitle'));
> > self::set('alert', $alert);
> > self::set('networkId', isset($networkId)?$networkId:null);
> > }
>
> > [/code]
--
Our newest site for the community: CakePHP Video Tutorials
http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others
with their CakePHP related questions.
To unsubscribe from this group, send email to
cake-php+unsubscribe@xxxxxxxxxxxxxxxx For more options, visit this group at
http://groups.google.com/group/cake-php
|
|