繁体   English   中英

有人可以解释一下 codeigniter 的杂货杂货中的 set_relation() 和 set_relation_n_n 是做什么的吗?

[英]Can someone explain what set_relation() and set_relation_n_n in grocery crud for codeigniter does?

我正在尝试将杂货杂货集成到一个系统,但我不明白我的数据库设计已经有什么 set_relation 关系,所以我想知道这将如何提供帮助,或者更确切地说它有什么作用。 我无法理解文档的示例。

文档示例

void set_relation( string $field_name , string $related_table, string $related_title_field [, mixed $where [, string $order_by ] ] ) 快速说明:设置关系 1-n 数据库关系。 设置关系 1-n 数据库关系。 这将自动为字段创建一个下拉列表,并显示字段的实际名称,而不仅仅是列表的主键。 这方面的一个例子:

$crud->set_relation('user_id','users','username');

您可以从另一个表中调用任意多个字段,并且语法非常简单。 就在第三个字段,您将看到符号 { 和 } 。 所以它将是例如:

$crud->set_relation('user_id','users','{username} - {last_name} {first_name}');

你可以拥有任何你喜欢的语法或符号。 例如,您可以拥有:

$crud->set_relation('user_id','users','{username} ( {last_name} {first_name} )');

括号只是为了向您表明您可以插入任何您喜欢的符号。

$crud->set_relation 函数用来表示[一对多关系]

和 $crud->set_relation_n_n 函数用于表示 [多对多关系]

例如,性别可能是男性或女性,不能同时是,所以我们可以使用 set_relation 来表示它; 但是例如学生课程可能不止一个,并且需要新表来将学生 ID 与许多课程 ID 连接起来,如下例所示:

***tblStudents***
id      name
1       Jack
2       John
-------------------------------
***tblCourses***

id   courseName
1     Math
2     Science
3     Statistics
4     Geographic
-------------------------------
***tbl_stu_course_m_m***
 
studentID  courceID
1            1
1            2
1            4

在这种情况下,id 为 1 的 Jack 与总共(四门课程)中的三门课程有关系,如果我们在插入或编辑模式下用麦芽选择选项表示它们,将是这样的: 课程:

  • 数学
  • 科学
  • 统计[未选择]
  • 地理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM