xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 每日资讯 2019-10-03 13:22 的文章
当前位置: 新濠国际登录平台 > 每日资讯 > 正文

今天在通过需求表A查询场地类型表B,场地类型表

今天在通过需求表A查询场地类型表B,然后通过表B的场地类型id去查询表C场地类型名的时候遇到了一个小的问题。

今天在通过需求表A查询场地类型表B,然后通过表B的场地类型id去查询表C场地类型名的时候遇到了一个小的问题。

laravel 嵌套的渴求式加载,laravel嵌套渴求

今天在通过需求表A查询场地类型表B,然后通过表B的场地类型id去查询表C场地类型名的时候遇到了一个小的问题。

需求表A的字段:id、user_id 、name等等;

中间表B的字段:id、appeal_id、field_type_id;

场地类型表C的字段:id、display_name等等;

Appeal模型中:

public function appeal_field_type() {
   return $this->hasMany('AppModelsAppealFieldType');
}

public function field_type() {
    return $this->belongsTo('AppModelsFieldType')->select('id','display_name');
}

Appeal控制器中;

$result = Appeal::select('id','name')
    ->where('id',$id)
    ->with('appeal_field_type.field_type')
    ->first();
以上都是看了laravel学院的嵌套的渴求式加载,然后按照他上面说的方法,模仿着写了一下,结果这个方法一直报错,报“field_type”方法不存在,一开始琢磨不透,看了一遍右边appeal模型,检查过单词有没有写错,有没有引入模型,等等,都检查过了,我就觉得不对啊,我就是严格按照学院上写的嵌套的渴求式加载,但是就是不对。后来,我想,既然appeal_field_type这个方法是通过关联模型访问的,那么是不是他还是要通过AppealFieldType这个模型,去访问field_type这个方法,果然,我把fiel_type方法写到AppealFielType模型中,再去访问的时候,成功~
最终成功的结果:
Appeal模型中:

public function appeal_field_type() {
   return $this->hasMany('AppModelsAppealFieldType');
}

AppealFieldType模型中:

public function field_type() {
    return $this->belongsTo('AppModelsFieldType')->select('id','display_name');
}

Appeal控制器中:

$result = Appeal::select('id','name')
    ->where('id',$id)
    ->with('appeal_field_type.field_type')
    ->first();

主要原因是学院上这一块讲的不是特别清楚,不知道后面的那个方法应该写在哪个控制器中,所以出现了这么一个困扰萌新的问题~

嵌套的渴求式加载,laravel嵌套渴求 今天在通过需求表A查询场地类型表B,然后通过表B的场地类型id去查询表C场地类型名的时候遇到了...

在创建数据库表之前,首先要考虑清楚以下几点:

新濠国际登录平台,需求表A的字段:id、user_id 、name等等;

需求表A的字段:id、user_id 、name等等;

1、程序要实现哪些功能?

规划好整体功能模块,例如我要做一个任务系统,那么需要这些功能:我接收的任务,我发布的任务,创建任务,编辑任务,删除任务,搜索任务,数据统计,用户管理,任务类型管理,客户管理,管理员管理,系统设置。

本文由新濠国际登录平台发布于每日资讯,转载请注明出处:今天在通过需求表A查询场地类型表B,场地类型表

关键词: