我想在laravel rest api中发布标题和文章我收到此错误
类型错误:参数1传递给 Illuminate \ Database \ Eloquent \ Builder :: create()必须属于该类型 数组,null给定,调用 C:\ XAMPP \ htdocs中\ LaravelProject \ cpapi \供应商\ laravel \框架的\ src \照亮\数据库\雄辩\ Model.php 在第1440行
这是我的发布文章数据的路径/ api.php文件
Route::post('articles', 'ArticleController@store');
Route::post('articles', function(Request $request) {
return Article::create($request->all);
});
这是ArticleController.php文件的存储功能
public function store(Request $request)
{
$article = Article::create($request->all());
return response()->json($article, 201);
}
这是文章模型类
class Article extends Model
{
//new
protected $fillable = ['title', 'body'];
}
我尝试在articlecontroller文件中更改此内容但得到相同的错误
$article = Article::create($request->only([
'title',
'body']));
我该如何解决这个问题?
答案 0 :(得分:0)
正如#Masivuye_Cokile建议我一样,我在路由和控制器功能中修改了我的代码,这解决了我的问题。
路线/ api.php
Route::post('articles', function(Request $request) {
$data = $request->all();
return Article::create([
'title' => $data['title'],
'body' => $data['body'],
]);
});
在控制器功能
中 public function store(Request $request)
{
$article = Article::save();
return response()->json($article, 201);
}