建议多重插入Cakephp 1模型

建议多重插入Cakephp 1模型,cakephp,Cakephp,我想知道是否有另一种更像“cakephp”的方法在同一个表的多个insert中插入用户id。我所做的示例: $user_id = $this->Auth->user('id'); if ($this->request->is('post')) { foreach ($this->request->data['Post'] as $key => $value) { if (is_int($key)) {

我想知道是否有另一种更像“cakephp”的方法在同一个表的多个insert中插入用户id。我所做的示例:

$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\u id。
谢谢你的帮助

如果我的记忆正确,您的数据需要如下所示,并在用户模型上调用saveAll

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

试着这样做:

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

如果您使用的是安全组件,那么您可以免费使用隐藏输入是的,但我认为禁用每个字段是不实际的:/当我使用JavaScript抱歉,如果我混淆了,我的意思是:数组('Post'=>array((int)1=>array('title'=>'gdfgdf','user_id'=>5'),(int)2=>array('title'=>'sdfgd','user_id'=>'5'))