[英]Call to a member function error in Laravel
我正在 Laravel 7 上建立一個博客,當我嘗試創建一個帖子時,我收到此錯誤:
Call to a member function categories() on bool
這是我的控制器中的 store 方法:
public function store(Request $request)
{
// Validate incoming data
$this->validate($request, [
'title' => 'required',
'image' => 'required',
'categories' => 'required',
'body' => 'required',
]);
$data = array();
$data['title'] = $request->title;
$data['slug'] = str_slug($request->title);
$data['user_id'] = Auth::id();
$data['meta_title'] = $request->meta_title;
$data['meta_description'] = $request->meta_description;
$image = $request->file('image');
$data['body'] = $request->body;
$data['created_at'] = \Carbon\Carbon::now();
$slug = str_slug($request->title);
if($image) {
$image_name = $slug . "-" . date('dmy_H_s_i');
$ext = strtolower($image->getClientOriginalExtension());
$image_full_name = $image_name . '.' . $ext;
$upload_path = "public/assets/frontend/uploads/posts/";
$image_url = $upload_path . $image_full_name;
$success = $image->move($upload_path, $image_full_name);
$data['image'] = $image_url;
$post = DB::table('posts')->insert($data);
$post->categories()->attach($request->categories);
return redirect(route('admin.posts.index'))->with('successMsg', 'Post has been saved successfully!');
}
}
laravel 錯誤頁面有這行有問題:
$post->categories()->attach($request->categories);
我的數據庫中有一個單獨的表,用於將帖子ID 與類別ID 連接起來,稱為category_post 除了category_post 表中的新記錄外,將帖子內容插入到數據庫中
那么如何更改該代碼以使其正常工作? 謝謝
DB::table('posts')->insert($data);
根據查詢的成功/失敗執行返回true|false
。 如果你想寫
$post->categories()->attach($request->categories);
然后你需要模式Post
並創建這樣的實例:
$post = new Post;
$post->title = $request->title;
// ...
$post->save();
然后你將擁有Post
類的實例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.