【发布时间】:2016-02-26 21:52:16
【问题描述】:
我正在使用 cakephp 来保存多个数据。 我在会话中保存了数据,它工作正常。 但我对 foreach 循环中的问题感到不安。 这是保存多个数据的控制器:
foreach($currentSessionData as $key):
// debug($key);
$this->request->data[$table_name]['tutor_name'] = $key['tutor_name'];
$this->request->data[$table_name]['area_id'] = $key['area_id'];
$this->$table_name->save($this->request->data);
endforeach;
当我调试 $currentSessionData 时,我得到如下数组:
array(
'application_attachment' => '',
'desc' => '',
'Post' => array(
'tutor_name' => 'Muhammad Usman',
'tutor_email' => 'usman@gmail.com',
'tutor_number' => '123123',
'tutor_gender' => 'male',
'city_id' => '2',
'tutor_address' => 'asdasdas',
'area_id' => array(
(int) 0 => '3',
(int) 1 => '4'
),
'user_id' => '47'
)
) 调试($key) 返回:
array(
'tutor_name' => 'Muhammad Usman',
'tutor_email' => 'usman@gmail.com',
'tutor_number' => '123123',
'tutor_gender' => 'male',
'city_id' => '2',
'tutor_address' => 'asdasdas',
'area_id' => array(
(int) 0 => '3',
(int) 1 => '4'
),
'user_id' => '47'
) 当我写的时候
$this->request->data[$table_name]['tutor_name'] = $key['tutor_name'];
$this->request->data[$table_name]['area_id'] = $key['area_id'];
它给出了非法字符串偏移的错误。
如果我只是像这样保存 $key:
foreach($currentSessionData as $key):
$this->$table_name->save($key);
endforeach;
$this->Session->setFlash('Account created!');
它给出错误: 数组到字符串的转换 [CORE\Cake\Model\Datasource\DboSource.php,第 1009 行]
还有为什么 foreach 不迭代 '0' 索引。 任何帮助。提前致谢。
【问题讨论】:
-
你为什么不接受你的问题的任何答案?