【问题标题】:Assigning a user to multiple projects in my PHP application, best approach?将用户分配给我的 PHP 应用程序中的多个项目,最好的方法是什么?
【发布时间】:2010-08-13 11:45:54
【问题描述】:

我目前正在为我的工作构建一个 Web 应用程序,您可以添加任务、项目和客户。我遇到的困境是一个客户可以同时分配到多个项目。

该应用程序是基于最新版本的 Codeigniter 2.0 构建的(如果有帮助的话)。我通常很擅长解决这样的问题,但我无法解决这个问题。

我想出的一个解决方案是将客户的项目 ID 列表存储在名为“belongs_to”的表字段中,并用逗号分隔它们。这个方法肯定行得通,但它看起来有点乱,我相信还有另一种方法,我的脑子就是想不出解决办法。

非常感谢您的帮助。

【问题讨论】:

  • 您始终可以使用 ORM(我使用带有 codeigniter 的“Datamapper Overzealous Edition”)。它可以轻松地处理应用程序中的关系。
  • 我决定下载 Datamapper Overzealous Edition 并安装它,我是使用 ORM 与数据库交互的新手,我只是不知道如何在我当前的应用程序中实现它。它的用户指南很棒,我似乎无法理解如何实现它以及是否需要重命名数据库表。也许我正在慢慢失去理智。

标签: php mysql database codeigniter


【解决方案1】:

为什么不只有 3 张桌子:

  1. 项目:id、名称等
  2. 客户:id、名称等
  3. clients2projects:id、id_project、id_client

以这种方式,第三张表以多对多关系映射项目和客户

【讨论】:

  • 太棒了。我不敢相信我从来没有想过,这样一个简单而优雅的解决方案可以实现和使用。感谢您如此快速准确地回答。
  • 我正在实现与这个场景非常相似的东西,这甚至帮助我编写了我正在编写的软件。谢谢尼科!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-18
  • 1970-01-01
  • 2011-06-06
  • 2020-11-07
  • 2012-08-08
相关资源
最近更新 更多