CakePHP'de - oturum açmış bir kullanıcı hakkında bilgiler güncelleniyor

2 Cevap php

Ben istiyorum wich bir işlevi var, bu kontrolör bir denetleyici adında sales_controller var:

  1. satışı hakkında bilgi güncelleme -> YAPILDI
  2. Diğer model üzerinde yeni bir kayıt oluşturmak -> YAPILDI
  3. Bir kullanıcı kayıt üzerinde bir alanı güncelleştirmek -> PROBLEM

Benim son bu oldu yapmak için çalıştı:

App::import('model','User');
$user= $this->Auth->user();
$nr = $this->Auth->user('nr') - 1 ;

if($user->save(array('nr'=>$nr)))
{
    $this->Session->setFlash(__('DONE! ', true));
    this->redirect(array('action'=>$page,$params));
}

Ben yöntem $ this-> Auth-> kullanıcı () bir dizi döndürür olduğunu biliyorum ve ben "save" dizileri için çalışmıyor oku ...

Ben kullanıcıların okuma işlevini çağırmak için çalışıyordu, ama ben hala bunu yapmalıyım bilmiyorum.

Lol bunu yapmak için basit bir şey olmalı, ama ben yine de bir acemi değilim.

Yani, herkes bana yardımcı olabilir?

Teşekkürler

2 Cevap

Bu deneyin:

App::import('Model', 'User');
$user = new User();
$user->id = $this->Auth->user('id');

/* if you really need to store the entire array, instead of accessing individual fields as needed */
$user_info = $this->Auth->user();

/* in saveField, add 'true' as a third argument to force validation, i.e. $user->saveField('nr', $this->Auth->user('nr') - 1, true) */
if ($user->saveField('nr', $this->Auth->user('nr') - 1)) {
   $this->Session->setFlash(__('DONE! ', true));
   this->redirect(array('action' => $page, $params));
}

Sen User nesnesi yükledim ama onunla hiçbir şey yapmıyorsun. Sen Auth nesneden dönen bir dizi $ kullanıcı değerini kurdum, ve sonra bunun üzerinde tasarruf yöntemi çağırmak için çalışıyoruz. Siz kullanıcı nesne üzerinde tasarruf aramak istiyorum.

Ben söylemeye çalıştığın şey olduğunu düşünüyorum:

$this->User->id = $this->Auth->user('id');
$this->User->save(array('nr'=>$nr));