2012-05-24 59 views
0

我想知道是否有更多的「cakephp like」插入user_id在同一個表上的多個插入。我做什麼例子:建議多插入Cakephp 1模型

$user_id = $this->Auth->user('id'); 
if ($this->request->is('post')) { 
     foreach ($this->request->data['Post'] as $key => $value) { 
      if (is_int($key)) { 
       $this->request->data['Post'][$key]['user_id'] = $user_id; 
      } 
      unset($key); 
      unset($value); 
     } 
     debug($this->data['Post']); 
     die(); 
     $this->Post->saveAll($this->data['Post']); 
    } 

我不用輸入隱患值的user_id爲serurity原因。 感謝您的幫助!

回答

0

嘗試是這樣的:

$result = Set::insert($this->request->data, 'Post.{n}.user_id', array('user_id' => $user_id)); 
+0

如果您使用的是安全組件,您可以自由使用隱藏輸入 – Sebastian

+0

是的,但我不認爲它是實用的disabledFields每個字段:/當我使用JavaScript – Elium1984

0

如果我的記憶正確回憶我,你的數據需要如下所示,並呼籲白水用戶模型

Array 
(
    [User] => Array 
     (
      [id] => {you_user_id} 
     ) 
    [Post] => Array 
     (
      [0] => Array 
       (
        [field] => blah 
       ) 
      [1] => Array 
       (
        [field] => blah 
       ) 
     ) 
) 

換句話說:

$this->request->data['User'] = array('id' => $this->Auth->user('id')); 
$this->Post->User->saveAll($this->request->data); 
+0

對不起,如果我很困惑,我的意思是這樣的: array( \t '發佈'=>數組( \t \t(INT)1 =>數組( \t \t \t '標題'=> 'gdfgdf', \t \t \t 'USER_ID'=> '5' \t \t), \t \t(INT)2 =>數組( \t \t \t '標題'=> 'sdfgd', \t \t \t 'USER_ID'=> '5' \t \t) \t) ) – Elium1984