2012-04-11 63 views
0

是否可以在視圖中設置控制器中接收的$ this-> data中的值。我們可以使用if($ this-> data ['id'])但爲什麼我們不能在其中設置值?

將這項工作$this->data['id']=$userid;

+0

因爲,通常情況下,'$這個 - >數據[ '身份證']'將不會設置..你所期待的'$這個 - >數據[ '用戶'] [ '身份證' 用戶標識]'。嘗試使用'die(print_r($ this-> data))'來查看你的數據數組是什麼樣子的,並且正如我之前建議的那樣,請閱讀http://book.cakephp.org/1.3/上的CakePHP Cookbook。 view/876/The-Manual。從頭到尾閱讀(至少是第1,2和3章),很多內容會被澄清。 – Joep 2012-04-11 10:10:59

+0

我必須保存一些數據。 '$這個 - >後>保存($這個 - >數據)'。 '$ this-> data'中有數據。在保存之前,我想修改$ this-> data中的user_id。 – 2012-04-11 10:33:03

+0

你必須發佈更多你想要完成的內容。發佈你的表單,張貼這個Model關注的內容,並且請發佈你的$ this->數據的print_r。並添加相關的控制器代碼,請 – Joep 2012-04-11 15:02:01

回答

6

你有幾個選項

首先是剛剛創建自己的變量,並修改:

$myData = $this->data; 
$myData['id'] = $userid; 
$this->Post->save($myData); 

第二種是使用$這 - >請求 - >數據。它包含與$ this-> data相同的信息,但可以修改。

$this->request->data['id'] = $userid; 
$this->Post->save($this->request->data); 
+0

我問的問題沒有按照我的預期解釋。 我在 '$ this-> data'中獲取了一些數據 我想用當前用戶的用戶標識修改其中的字段users_id(外鍵),該用戶的標識沒有任何值。 我試圖做這個'$ this-> data ['user_id'] = $ this-> Auth-> user('id');'但它沒有工作。 $ this-> Auth-> user('id')返回當前用戶的id。 所以另一種方式做我想做的是 '$這個 - > CurrentModel->設置( 'USER_ID',$這個 - > Auth->用戶( '身份證'));' '$這個 - > CurrentModel-> save($ this-> data);' – 2012-04-11 12:59:18

+0

小心 - 他似乎使用1.3(來自標籤) - 所以它會$ this-> data(沒有請求對象)! – mark 2012-04-11 13:28:14

+0

@Alan Wagstaff:AFAIK你可以編輯$ this-> data中的數據。 – Joep 2012-04-11 15:02:59

相關問題