如何在 Laravel 站点中查看 voyager 模型关系?

问题描述

我在我的 Laravel 应用中使用了 voyager 管理面板。并且有两种模型:

Design
Post

我通过 voyager 管理面板(内置的“创建关系”按钮)创建了关系。

关系如下:

class Design extends Model
{
    public function posts()
    {
       return $this->hasMany(Post::class);
    }
}



class Post extends Model
{
   public function design()
   {
     return $this->belongsTo(Design::class);
   }
}

管理面板中一切正常,但我想在网站本身而不是管理面板显示与特定设计相关的帖子。

我尝试了以下方法

DesignController.PHP

public function show($slug)
{
    $design = Design::where('slug','=',$slug)->firstOrFail();
    
    return view('design.show',compact('design'));
}

design/show.blade.PHP

@extends('layouts.app')
@section('content')

   <div class="container">
      <h1>{{ $design->name }}</h1>

      @foreach ($design->posts as $post)
        <h1>{{ $post->title }}</h1>
      @endforeach

   </div>

@endsection

不幸的是,我收到以下错误

sqlSTATE[42S22]: Column not found: 1054 UnkNown column 'posts.design_id' in 'where clause' (sql: select * from `posts` where `posts`.`design_id` = 12 and `posts`.`design_id` is not null)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)