做渔家乐推广的有哪些好网站,佛山短视频推广渠道,wordpress 国内视频教程,电子商务企业网站的基本功能Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent 对一对多关系的处理以及在 Laravel Administrator(后台扩展包)中的应用。 您的数据库可能是彼此相关的。比方#xff0c;一篇博客文章可能有很多评论#xff0c;或者一个订… Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent 对一对多关系的处理以及在 Laravel Administrator(后台扩展包)中的应用。 您的数据库可能是彼此相关的。比方一篇博客文章可能有很多评论或者一个订单与下订单的用户相关。Eloquent 使得管理和处理这些关系变得简单。Laravel 提供了四种类型的关系 -一对一 -一对多 -多对多 - 多态关系 一对多 一个一对多关系的样例是一篇博客文章有很多评论或者一个课程有的多次分数信息等。 我们能够像这样定义关系模型 Model ?php
/*** sobjectinfo课程信息表 Model* soc_id 主键自增* soc_name 课程名* soc_teacher授课老师**/
class SobjectInfo extends Eloquent {//自己定义表名protected $tableprotected $table sobjectinfo;//自己定义主键protected $primaryKeyprotected $primaryKey soc_id;//关闭 创建时间 与 更新时间 的自己主动维护protected $timestampspublic $timestamps false;/** 定义一对多关系*/public function Scoreinfo(){return $this - hasMany(Scoreinfo,soc_id);}
}? 定义与之相应的逆向关系 Model ?php
/*** scoreinfo分数信息表 Model* so_id 主键自增* s_id 学生信息表(stuinfo)主键* soc_id 课程信息表(sobjectinfo)主键* score 分数*/
class ScoreInfo extends Eloquent {//自己定义表名protected $tableprotected $table scoreinfo;//自己定义主键protected $primaryKeyprotected $primaryKey so_id;//关闭 创建时间 与 更新时间 的自己主动维护protected $timestampspublic $timestamps false;/** 分数表(ScoreInfo)与课程表(SobjectInfo)、学生信息表(StuInfo)有主外键关系* 而且是一对多的关系*/public function StuInfo(){return $this - belongsTo(StuInfo,s_id);}/** 定义逆向关系指向主键表* */public function SobjectInfo(){return $this - belongsTo(SobjectInfo,soc_id);}
} ?通过以上步骤的处理。表与表之间的一对多关系已确立以下将介绍在Laravel Administrato 后台中的实现 下拉列表查询、绑定等应用 ?phpreturn array(title 分数信息, //栏目名single , //新建描写叙述model ScoreInfo, //分数信息form_width 960, //左边栏目宽//列表columns array(so_id array(title 编号,select so_id,sort_fieldso_id),s_namearray(title学生姓名,relationship StuInfo,select (:table).s_name,),soc_namearray(title课程名称,relationship SobjectInfo,select (:table).soc_name,),scorearray(title考试分数,selectscore),),//筛选信息filters array(so_id array(title编号),SobjectInfoarray(type relationship,title 课程名name_field soc_name,),StuInfoarray(type relationship,title 学生姓名,name_field s_name,),scorearray(title考试分数,type number),),//改动、新增edit_fields array(StuInfoarray(type relationship,title 学生姓名,name_field s_name,),SobjectInfoarray(type relationship,title 课程名,name_field soc_name,),scorearray(title考试分数,typetext),));?以上演示样例展示的是 后台 分数信息 类。 演示样例中多次使用到 “学生姓名”、“课程名”尽管他们存储在不同的表中但因为我们之前在 Model中已建立了它们之间的 一对多关系因此我们能够自由搭配组合 效果图例如以下 10个Laravel4开发者必用扩展包: http://blog.csdn.net/yimiyuangguang/article/details/39756115Laravel Administrator 文档 http://administrator.frozennode.com/docs/field-type-relationship Laravel4 中文帮助手冊 http://pan.baidu.com/s/1jGl6cqa 转载于:https://www.cnblogs.com/yxwkf/p/5278068.html