在 Laravel 8 中找不到的 "AppModelsBlogPostCategory" 类



创建新帖子后,我希望它将页面重定向到帖子列表。它成功地创建了它,并且数据正确地插入到数据库中,但是当它重定向时,我得到了这个错误,并且相同的类在同一个控制器中的作者函数中工作。

BlogController

namespace AppHttpControllersBackend;
use AppHttpControllersController;
use IlluminateHttpRequest;
use AppModelsBlogBlogPostCategory;
use CarbonCarbon;
use AppModelsBlogPost;
use Image;
class BlogController extends Controller
{
public function BlogPostStore(Request $request)
{
$request->validate([
'post_title_en' => 'required',
'post_title_ar' => 'required',
'post_image' => 'required',
], [
'post_title_en.required' => 'Input Post Title English Name',
'post_title_ar.required' => 'Input Post Title Arabic Name',
]);
$image = $request->file('post_image');
$name_gen = hexdec(uniqid()).'.'.$image->getClientOriginalExtension();
Image::make($image)->resize(780, 433)->save('upload/post/'.$name_gen);
$save_url = 'upload/post/'.$name_gen;
BlogPost::insert([
'category_id' => $request->category_id,
'post_title_en' => $request->post_title_en,
'post_title_ar' => $request->post_title_ar,
'post_slug_en' => strtolower(str_replace(' ', '-', $request->post_title_en)),
'post_slug_ar' => str_replace(' ', '-', $request->post_title_ar),
'post_image' => $save_url,
'post_details_en' => $request->post_details_en,
'post_details_ar' => $request->post_details_ar,
'created_at' => Carbon::now(),
]);
$notification = array(
'message' => 'Blog Post Inserted Successfully',
'alert-type' => 'success'
);
return redirect()->route('list.post')->with($notification);
}
}

BlogController中的Pposts列表函数*

public function ListBlogPost()
{
$blogpost = BlogPost::with('category')->latest()->get();

return view('backend.blog.post.post_list', compact('blogpost'));
}
<<p>路线/strong>
Route::prefix('blog')->group(function(){
Route::get('/list/post', [BlogController::class, 'ListBlogPost'])
->name('list.post');
Route::post('/post/store', [BlogController::class, 'BlogPostStore'])
->name('post-store');
});

和我创建的BlogPostCategory类路径

AppModelsBlogBlogPostCategory;

这个问题很可能是由于AppModelsBlogPost模型中的关系定义。

我想你在你的AppModelsBlogPost模型中有一个category方法;

public function category()
{
return $this->belongsTo(BlogPostCategory::class);
}

所以它正在寻找BlogPostCategory在相同的命名空间,但由于您的BlogPostCategory的完整路径是AppModelsBlogBlogPostCategory,您需要指定这个。

AppModelsBlogPost类之上添加use AppModelsBlogBlogPostCategory;

<?php
namespace AppModels;
use AppModelsBlogBlogPostCategory;
//    other classes
class BlogPost extends Model
{
// other stuff
public function category()
{
return $this->belongsTo(BlogPostCategory::class);
}
}

@ALAA ELDIN,会出现以下错误之一。-

  1. 查看您在BlogPost中使用的导入路径。也检查关联。
  2. 查看你在BlogPostCategory模型中使用的导入路径

纠正路径&清除缓存,错误将被解决。

最新更新