问题描述
我在我的 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 (将#修改为@)