laravelを使用してシンプルなCMSを作成しました.1つのカテゴリページ内に投稿を取得しようとしました。$ category-> posts()カテゴリモデルで割り当てられましたが、そして、私はカテゴリ投稿を取得するときのエラー
そして、ここでは私のコードで、次のエラーを取得
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $table = 'categories';
public function posts()
{
return $this->belongsToMany('App\Posts')->withTimestamps();
}
}
ポストモデルは
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function categories()
{
return $this->belongsToMany('App\Category')->withTimestamps();
}
public function user()
{
return $this->belongsTo('App\User');
}
public function meta()
{
return $this->hasMany('App\Postmeta');
}
}
**Category Controller**
<?php
namespace App\Http\Controllers\Frontend;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Category;
class CategoriesController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function getIndex()
{
return view('frontend.categories.index')->withCategories(Category::orderBy('id', 'desc')->paginate(6));
}
/**
* Display the specified resource.
*
* @param int $slug
* @return \Illuminate\Http\Response
*/
public function getSingle($slug)
{
$category = Category::where('slug', '=', $slug)->first();
$posts = ($category !== null) ? $category->posts() : array();
return view('frontend.categories.single')->withCategory($category)->withPosts($posts);
}
}
あなたは単にスペルミスを犯してきました。あなたのモデル名は「Post」ですが、あなたのカテゴリでは「Posts」でそれにアクセスしようとしています – DestinatioN