【问题标题】:Codeigniter 2.1 - multi language insertCodeigniter 2.1 - 多语言插入
【发布时间】:2013-01-17 23:30:08
【问题描述】:

我需要以两种语言将数据插入数据库,但我有点进退两难(数据需要以两种语言存在)。让用户同时插入两种语言的数据更好,还是让用户先插入一种语言然后再插入第二种语言更好?如果后者更好,那么最有效的方法是什么?如何呈现所有未以两种语言插入的文章?

文章的数据库结构:

所有文章的公用表(相同数据):

**article -> id_article | image | date_created | category_id | subcategory_id**

数据不同的表:

article_info -> article_id | name | text | lang_id

【问题讨论】:

    标签: php codeigniter codeigniter-2


    【解决方案1】:

    如果数据必须以两种语言存在 - 即,应用程序假定如果一个项目以一种语言存在,那么它必须以另一种语言存在 - 那么您应该设计您的应用程序,以便用户必须同时添加它们。

    当您执行数据库写入时,您还应该使用事务。这将确保您的所有写入都成功,或者它们都不成功。它可以防止数据库处于不确定状态,其中包含一种语言的记录而不是另一种语言的记录。

    查看有关事务的CodeIgniter manual page,了解它们的工作原理。

    您还可以使用数据库类中的insert_batch 方法一次插入两条记录。我不知道它如何与所有数据库驱动程序一起工作,但是当您使用insert_batch 时,mysqli 驱动程序将生成一个查询,因此整个插入将成功或整个插入将失败,类似于事务发生的情况。也就是说,我仍然会将对 insert_batch 的调用包装在一个事务块中,只是为了有点偏执和面向未来。

    【讨论】:

    • 不知道。这将节省我很多时间。谢谢你的建议:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多