无法使用 Laravel Api 保存到数据库
Unable to Save to database using Laravel Api
我的 laravel 应用程序中有多对多关系设置
在我的 User Model
中,我设置了我的关系
public function categories()
{
return $this->belongsToMany(Category::class)->withTimestamps();
}
在我的“类别模型”中,我已经建立了我的关系
public function users()
{
return $this->belongsToMany(User::class)->withTimestamps();
}
在我的 pivot
table 中命名为 categoryuser
我有这个 table 模式
public function up()
{
Schema::create('category_user', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('category_id')->unsigned();
$table->integer('user_id')->unsigned();
$table->timestamps();
});
}
我正在尝试使用此方法添加保存到我的数据透视表 table
public function categoryUserapi (Request $request)
{
$validatedData = $request->validate([
'category_id' => 'required|array|min:3',
'category_id.*' => 'integer',
]);
$user = Auth::user();
$user->categories()->attach($request->input('category_id'));
return response(['user'=> $user]);
}
但是不行,我不知道我做错了什么
在我的api.php里,我有这个
Route::post('/onboardcategory', 'OnboardsController@categoryUserapi');
更新
它返回错误
"message": "Call to a member function categories() on null"
如果您要传递用户 ID
,请将 Auth::user 更改为 User::find
public function categoryUserapi (Request $request)
{
$user = User::find($request->user_id);
$user->categories()->attach($request->input('category_id'));
return response(['user'=> $user]);
}
我的 laravel 应用程序中有多对多关系设置
在我的 User Model
中,我设置了我的关系
public function categories()
{
return $this->belongsToMany(Category::class)->withTimestamps();
}
在我的“类别模型”中,我已经建立了我的关系
public function users()
{
return $this->belongsToMany(User::class)->withTimestamps();
}
在我的 pivot
table 中命名为 categoryuser
我有这个 table 模式
public function up()
{
Schema::create('category_user', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('category_id')->unsigned();
$table->integer('user_id')->unsigned();
$table->timestamps();
});
}
我正在尝试使用此方法添加保存到我的数据透视表 table
public function categoryUserapi (Request $request)
{
$validatedData = $request->validate([
'category_id' => 'required|array|min:3',
'category_id.*' => 'integer',
]);
$user = Auth::user();
$user->categories()->attach($request->input('category_id'));
return response(['user'=> $user]);
}
但是不行,我不知道我做错了什么
在我的api.php里,我有这个
Route::post('/onboardcategory', 'OnboardsController@categoryUserapi');
更新
它返回错误"message": "Call to a member function categories() on null"
如果您要传递用户 ID
,请将 Auth::user 更改为 User::findpublic function categoryUserapi (Request $request)
{
$user = User::find($request->user_id);
$user->categories()->attach($request->input('category_id'));
return response(['user'=> $user]);
}