【问题标题】:CakePHP model associations table w/data and new table带有数据和新表的 CakePHP 模型关联表
【发布时间】:2023-03-28 20:01:01
【问题描述】:

我有一个表格(药物),其中列出了该表格中的所有药物。 Drugs 有一个 french_information 和 french_information 属于 Drugs。我希望用户能够单击一种药物,显示有关它的信息,然后选择法语并让它显示一个添加法语信息的视图,同时显示选择的药物信息,并带有为其添加法语信息的字段并将其存储在 french_information 表中。我该怎么做?

【问题讨论】:

  • 就您正在尝试做的某个方面提出一个具体问题。这里不是教程的地方。

标签: cakephp associations


【解决方案1】:

你不会的。

除非您有学生数据,否则无需在学生表中包含 Mentor 数据。

创建学生后,您可以将其与相应的导师 ID 一起添加到学生表中。如果您愿意,您可以随时在 Student 模型中添加 beforeSave(),以确保在保存之前导师没有附加学生。

如果由于某种原因您觉得您的学生表中必须有空数据,您可以随时在任何操作(运行一次)中编写一些代码,在其中循环每个 Mentor,为 $student 构建一个数组并保存它- 像这样:

$mentors = $this->Mentor->find('all');
foreach($mentors as $mentor) {
    $this->Student->create();
    $student = array('mentor_id'=>$mentor['id']);
    $this->Mentor->Student->save($student);
}

或者,您可以编写 SQL 并直接在数据库上运行。

【讨论】:

  • 我不确定我是否清楚。我将问题编辑为更具体。 :)
  • 它并不是永远是空的,只是空着直到选择了一个特定的,然后他们会进去编辑它的信息。我认为解决方案让我朝着正确的方向前进,谢谢!我现在就试试。
  • 你的意思是“我改变了我的问题来问一些完全不同的东西”。 :)
【解决方案2】:

这可能会奏效。不过,您最终会得到空的 student_name 字段。

INSERT INTO `students` (mentor_id) SELECT id FROM `mentors`;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    相关资源
    最近更新 更多