加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

cakephp – 为什么saveAll()只保存最后一条记录?

发布时间:2020-12-13 16:16:27 所属栏目:PHP教程 来源:网络整理
导读:我有一种情况,出于外部原因,我必须直接保存连接记录,而不是将它们保存为连接的一部分.这就是我的意思: 我有一个公司模型,其数据来自外部源. 我的app数据库中有一个County模型 我有一个counties_firms连接表,用于将这些外部公司与各县联系起来. 因为生活在哪
我有一种情况,出于外部原因,我必须直接保存连接记录,而不是将它们保存为连接的一部分.这就是我的意思:

>我有一个公司模型,其数据来自外部源.
>我的app数据库中有一个County模型
>我有一个counties_firms连接表,用于将这些外部公司与各县联系起来.

因为生活在哪里,我不是在编辑公司模型,也不是在编辑县模型.我真的只是编辑协会.我有一个Firm模型来封装我需要用Firm数据做的任何事情,其中??一个方法是Firm :: saveCounties($data).它:

>接受包含公司ID和应该关联的县ID的传入数据.
>删除该县的所有现有联接记录
>尝试保存所有新的连接记录.

我发现只有最后一个县记录被保存.这是传入的数据:

Array
(
    [0] => Array
        (
            [firm_id] => 13
            [county_id] => 4fa16e24-a25c-4523-8a9e-7d1d147402e8
        )

    [1] => Array
        (
            [firm_id] => 13
            [county_id] => 4fa16e27-ccd0-4f22-97da-7d1d147402e8
        )

    [2] => Array
        (
            [firm_id] => 13
            [county_id] => 4fa16e4a-68f8-4fb1-95bb-7d1d147402e8
        )

)

鉴于这些数据,我正在创建Firm和CountiesFirm之间的动态关联,并尝试$this-> CountiesFirm-> saveAll($data).

正如我所提到的,本例中只有3个县协会中的最后一个被保存.知道我可能会缺少什么吗?

谢谢.

解决方法

我相信你在数组中缺少一个级别…它应该看起来像这样……

Array(
    'CountiesFirm' => array(
        [0] => Array
        (
            [firm_id] => 13
            [county_id] => 4fa16e24-a25c-4523-8a9e-7d1d147402e8
        )
        [1] => Array
        (
            [firm_id] => 13
            [county_id] => 4fa16e27-ccd0-4f22-97da-7d1d147402e8
        )
        [2] => Array
        (
            [firm_id] => 13
            [county_id] => 4fa16e4a-68f8-4fb1-95bb-7d1d147402e8
        )
    )
)

试试看,让我知道你的结果

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读