当我尝试评估来自类别模型的数据时,我在 Laravel 中收到“试图获取非对象的属性‘display_name’”错误。
我有 2 个模型:Post 和 Category;我有相应的表格:
Posts('id', 'title', 'body', 'cover_image')
和
Categories('id', 'display_name','name', 'key).
数据透视表是:category_post
这是我的帖子模型:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
//Table Name
protected $table = 'posts';
//Model Relationships
public function tag(){
return $this->belongsToMany('App\Tag', 'id');
}
public function category() {
return $this->belongsTo('App\Category','id');
}
}
这是我的类别模型:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $table = 'categories';
//Model Relationships
public function post()
{
return $this->belongsTo('App\Post', 'id');
}
}
另外,这是我的 PagesController:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Post;
class PagesController extends Controller
{
public function index()
{
if ( !is_null(Post::class) ) {
$posts = Post::latest()->with('category')->paginate(5);
return view('pages.index')->with(['posts' => $posts]);
}
else {
return view('pages.empty');
}
}
这是我的刀片文件:
@if(count($posts) > 0)
@foreach($posts as $post)
<span> <i class="fa fa-folder-open"></i> {{ $post->category->display_name }} </span>
@endforeach
@endif
有只小跳蛙
鸿蒙传说