【问题标题】:Can someone explain what set_relation() and set_relation_n_n in grocery crud for codeigniter does?有人能解释一下 codeigniter 的杂货杂货中的 set_relation() 和 set_relation_n_n 有什么作用吗?
【发布时间】:2017-05-12 05:47:59
【问题描述】:

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

文档示例

void set_relation(字符串 $field_name ,字符串 $related_table,字符串 $related_title_field [,混合 $where [,字符串 $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} )');

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

【问题讨论】:

    标签: php mysql codeigniter grocery-crud


    【解决方案1】:

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

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

    例如,性别可能是男性或女性,但不能两者兼而有之,所以我们可以使用 set_relation 来表示它;但是例如学生课程可能不止一个,并且需要新表来将 studentID 与许多课程 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 与总共三门课程(四门课程)有关系,如果我们在插入或编辑模式下以 malty 选择选项表示它们,将如下所示: 课程:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多