【问题标题】:laravel one to many relationship , not showing datalaravel 一对多关系,不显示数据
【发布时间】:2020-09-21 12:03:02
【问题描述】:

我有两个班级,分别名为 academy 和 pitch 球场可以有多个学院,而学院属于一个球场 在我的学院展示视图中,我可以看到使用这个的音调名称

{{$academy->pitch->name}}

但反过来它不起作用,我的意思是我想在每个球场上列出学院的名字

我的模型

学院模型

public function pitch(){
        return $this->belongsTo(Pitch::class ,'pitch_id');
    }

音高模型

public function academies()
    {
        return $this->hasMany(Academy::class);
    }

我试过了,但它不起作用

 @foreach ($pitch->academies as $academy)
                        <li></li>
                    @endforeach

错误

Column not found: 1054 Unknown column 'academies.pitch_pitch_id' in 'where clause' (SQL: select * from `academies` where `academies`.`pitch_pitch_id` = 5 and `academies`.`pitch_pitch_id` is not null)

【问题讨论】:

  • 如果对laravel默认主外键模板不严格,则需要在两个关系中指定外键和主键
  • 它有效,但它只显示第一个
  • ` @foreach ($pitch->academies as $academy) {{$academy->name}} @endforeach`
  • 它只显示第一个
  • 检查参数的顺序

标签: php laravel laravel-5 eloquent laravel-blade


【解决方案1】:
public function academies()
    {
        return $this->hasMany(Academy::class, 'academy_id');
    }

 public function pitch(){
        return $this->belongsTo(Pitch::class ,'pitch_id');
    }

在我看来

@foreach ($pitch->academies as $academy)

                    {{$academy->name}}
                    @endforeach

我现在工作

【讨论】:

  • 你确定这不是只有一个学院吗?
猜你喜欢
  • 2013-05-06
  • 1970-01-01
  • 2019-04-15
  • 1970-01-01
  • 2021-08-25
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多