2009-12-21 6 views
2

내가 원하는 내가 느릅 나무에서 함수를 가지고이 컨트롤러에서 컨트롤러의 이름 sales_controller에 있습니다 판매에 대한CakePHP는 - 로그온 한 사용자에 대한 정보를 업데이트

  1. 업데이트 정보 ->
  2. 새를 작성 완료를 다른 모델에 기록 ->
  3. 업데이트를 사용자 레코드에 필드 DONE - 내 마지막이 작업을 수행하려고 시도

> 문제였다 :

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)); 
} 

나는 방법 $ this-> Auth-> 사용자가() 배열을 반환하는 것을 알고 난

나는에 기능을 읽을 호출하려고했다 ... 배열이 작동하지 않습니다 "저장"을 읽어 보시기 바랍니다 사용자,하지만 난 아직도 어떻게해야할지 모르겠다.

이것은 간단해야하지만 나는 여전히 초보자입니다.

그럼 아무도 도와 줄 수 있습니까?

감사합니다.

답변

2

이 시도 :

내가 무엇을 말하려고하는 것은 생각

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)); 
} 
+0

감사합니다;) – Canastro

+0

'$ user = ClassRegistry :: init ('User');를 사용해야합니다. – deizel

0

사용자 개체를로드했지만 아무 것도하지 않습니다. $ user의 값을 Auth 객체에서 반환 된 배열로 설정 한 다음 save 메소드를 호출하려고합니다. 사용자 개체에 대해 save를 호출하려고합니다.

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

내가 그 수정을했지만 대신 사용자 $ this-> Auth-> ('ID'의) User에 대한 모든 정보를로드해야하기 때문에 $ this-> Auth-> user()를 사용했습니다. 하지만 여전히 빈 페이지가 나타나고 사용자는 수정되지 않습니다. print_r ($ this-> User)의 출력; d12b1341-ee3e-11de-90ad-368a14c18e81 [로그인] => NoOne [email_address] => [email protected] [group_id] => 4b2f7282-cc98- 4db0-8994-0cd49279ab65 [nr] => 2 [활성] => 1 [created] => 2009-12-20 01:18:55 [수정] => 2009-12-21 13:09:13)) – Canastro