gpt4 book ai didi

php - 类型错误:传递给 Illuminate\Database\Eloquent\Builder::create() 的参数 1 必须是数组类型,给定为 null

转载 作者:可可西里 更新时间:2023-10-31 23:45:02 25 4
gpt4 key购买 nike

我正在尝试在 laravel rest api 中发布标题和文章,但出现此错误

Type error: Argument 1 passed to Illuminate\Database\Eloquent\Builder::create() must be of the type array, null given, called in C:\xampp\htdocs\LaravelProject\cpapi\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php on line 1440

这是我的帖子数据的route/api.php文件

Route::post('articles', 'ArticleController@store');

Route::post('articles', function(Request $request) {
return Article::create($request->all);
});

以及ArticleController.php文件的这个store函数

 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']));

我该如何解决这个问题?

最佳答案

按照#Masivuye_Cokile 的建议,我修改了路由和 Controller 函数中的代码,它解决了我的问题。

路由/api.php

Route::post('articles', function(Request $request) {
$data = $request->all();
return Article::create([
'title' => $data['title'],
'body' => $data['body'],
]);
});

在 Controller 函数中

 public function store(Request $request)
{
$article = Article::save();
return response()->json($article, 201);
}

关于php - 类型错误:传递给 Illuminate\Database\Eloquent\Builder::create() 的参数 1 必须是数组类型,给定为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47154118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com