在CakePHP中保存一个模型的多个记录

前端之家收集整理的这篇文章主要介绍了在CakePHP中保存一个模型的多个记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想为一个模型保存几条记录.如果没有出现问题,可以使用saveAll()轻松完成此操作:

我有一个通知表单,我从< select>中选择多个用户和两个领域,分别为主题内容.现在,当我输出$this->数据包含的内容时,我有:

Array([Notification] => Array
    (
        [user_id] => Array
            (
                [0] => 4
                [1] => 6
            )

        [subject] => subject
        [content] => the-content-here
    )
)

我读过Cake 1.3的书,为了@R_161_301@的多个记录,你必须得到$this->数据:

Array([Article] => Array(
        [0] => Array
            (
                        [title] => title 1
                    )
        [1] => Array
            (
                        [title] => title 2
                    )
            )
)

那么,我如何“分享”所有选定用户主题内容

首先,这个数据库设计需要规范化.

在我看来,像Notification可以有很多与之相关的用户.同时,用户可以拥有许多通知.因此,

>引入名为users_notifications的连接表.
>实施HABTM关系:通知hasAndBelongsToMany用户

在视图中,您只需使用以下代码自动调出多选表单以获取用户ID:

echo $this->Form->input('User');

发送到控制器的数据将采用以下形式:

Array(
    [Notification] => Array
        (
            [subject] => subject
            [content] => contentcontentcontentcontentcontentcontent
        ),[User] => Array
        (
            [User] => Array
                (
                    [0] => 4
                    [1] => 6
                )
         )
)

现在,您所要做的就是调用saveAll()函数而不是save().

$this->Notification->saveAll($this->data);

这就是Cake的做法!

原文链接:https://www.f2er.com/php/133022.html

猜你在找的PHP相关文章