saveAll有很多不需要的东西';t在CakePHP2.0.6中工作

saveAll有很多不需要的东西';t在CakePHP2.0.6中工作,php,cakephp,cakephp-2.0,Php,Cakephp,Cakephp 2.0,有关更多详细信息(控制器、型号等),请参见要点: 我的问题如下: 我有一个使用HTML助手的普通表单。使用ajax,我可以添加新的输入(文件)来上传动态图像。 TipoImovel(或英文,PropertyType) ImagemTipoImovel(或ImagePropertyType) 当我运行上传和验证数据所需的所有操作时,我会得到以下数组(它只是一个示例文本): 问题出在哪里? 编辑2012年3月12日21:59 我做了一些测试,发现如下: beforeValidate不返回图像的名称,

有关更多详细信息(控制器、型号等),请参见要点:

我的问题如下:
我有一个使用HTML助手的普通表单。使用ajax,我可以添加新的输入(文件)来上传动态图像。

TipoImovel(或英文,PropertyType)
ImagemTipoImovel(或ImagePropertyType)

当我运行上传和验证数据所需的所有操作时,我会得到以下数组(它只是一个示例文本):

问题出在哪里?

编辑2012年3月12日21:59

我做了一些测试,发现如下: beforeValidate不返回图像的名称,即他试图保存的第一个名称,以便在以后运行beforeValidate之前运行,因此他尝试保存一个数组,然后只上载并返回图像名称


现在的问题是:即使在hasMany关系中,如何在保存之前运行某些东西?

尝试在TipoImovel.php中设置为true


谢谢

尝试将
saveAll
更改为
saveAssociated

您在两个模型文件中都定义了关系吗?为什么
[tipo\u imovel\u id]=>
为空?请将
的代码插入imagem\u tipo\u imoveis
,验证不一致性的save/saveAll在哪里?我认为上传必须通过模型
ImagemTipoImovel
,而不是现在的
TipoImovel
。并将
dependent
属性设置为true。对于更新后的问题,您可以在
beforeSave
方法中执行某些操作,即使在任何模型的hasMany关系中也是如此。插入件是由​​在每个模型中都是单独的。没有区别,解决方案是实例化行为“ImagemTipoImovel”而不是“TipoImovel”。无论如何,谢谢。只是这不起作用,但是,当我在ImagemTipoImovel中放入$actAs='ImagemBehavior'时,效果非常好。无论如何,谢谢我的朋友。
<?php 
// debug após sair do ImagemBehavior - responsável pelo upload

Array
(
    [TipoImovel] => Array
        (
            [empreendimento_id] => 2
            [tipo_id] => 1
            [chamada1] => <pre><span class="na">saveAssociated</span></pre>
            [chamada2] => <pre><span class="na">saveAssociated</span></pre>
            [chamada3] => <pre><span class="na">saveAssociated</span></pre>
            [descricao] => <pre><span class="na">saveAssociated</span></pre>
            [youtube_link] => saveAssociated
            [vimeo_embed] => saveAssociated
            [ativo] => 1
        )

    [ImagemTipoImovel] => Array
        (
            [0] => Array
                (
                    [tipo_imovel_id] => 
                    [imagem] => 65d7adc2c7ed519e489789fc3eb60e8a.jpg
                )

            [1] => Array
                (
                    [tipo_imovel_id] => 
                    [imagem] => f95bcebaecad405b2f7a50a2535d4c4b.jpg
                )

        )

)
Notice (8): Array to string conversion [CORE/Cake/Model/Datasource/DboSource.php, line 964]

Database Error
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Array' in 'field list'

SQL Query: INSERT INTO `imagem_tipo_imoveis` (`tipo_imovel_id`, `imagem`, `modified`, `created`) VALUES (23, Array, '2012-03-11 17:17:14', '2012-03-11 17:17:14')

Notice: If you want to customize this error message, create app/View/Errors/pdo_error.ctp

Stack Trace
#0 /home/patrick/workspace/.../cakephp/lib/Cake/Model/Datasource/DboSource.php(436): PDOStatement->execute(Array)
#1 /home/patrick/workspace/.../cakephp/lib/Cake/Model/Datasource/DboSource.php(403): DboSource->_execute('INSERT INTO `im...', Array)
#2 /home/patrick/workspace/.../cakephp/lib/Cake/Model/Datasource/DboSource.php(967): DboSource->execute('INSERT INTO `im...')
#3 /home/patrick/workspace/.../cakephp/lib/Cake/Model/Model.php(1646): DboSource->create(Object(ImagemTipoImovel), Array, Array)
#4 /home/patrick/workspace/.../cakephp/lib/Cake/Model/Model.php(1955): Model->save(Array, Array)
#5 /home/patrick/workspace/.../cakephp/lib/Cake/Model/Model.php(2096): Model->saveMany(Array, Array)
#6 /home/patrick/workspace/.../cakephp/lib/Cake/Model/Model.php(1908): Model->saveAssociated(Array, Array)
#7 /home/patrick/workspace/.../cakephp/app/Controller/TipoImoveisController.php(44): Model->saveAll(Array)
#8 [internal function]: TipoImoveisController->admin_add()
#9 /home/patrick/workspace/.../cakephp/lib/Cake/Controller/Controller.php(473): ReflectionMethod->invokeArgs(Object(TipoImoveisController), Array)
#10 /home/patrick/workspace/.../cakephp/lib/Cake/Routing/Dispatcher.php(104): Controller->invokeAction(Object(CakeRequest))
#11 /home/patrick/workspace/.../cakephp/lib/Cake/Routing/Dispatcher.php(86): Dispatcher->_invoke(Object(TipoImoveisController), Object(CakeRequest), Object(CakeResponse))
#12 /home/patrick/workspace/.../cakephp/app/webroot/index.php(96): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#13 {main}
'dependent' => true,