пожалуйста, я новичок в Laravel, я хочу использовать Laravel API Resource для хранения базы данных внутри базы данных.
У меня есть 3 таблицы
- Пользователи
- Категория
- Category_User ( это сводная таблица )
В моем контроллере (OnboardsControllers
) у меня есть это для хранения данных
public function store(Request $request)
{
$category_user = Category_User::firstOrCreate(
[
'user_id' => $request->user()->id,
'category_id' => $request->$category->id,
],
);
return new CategoryUserResource($category_user);
}
В моем CategoryUserResource
у меня есть это
public function toArray($request)
{
return [
'user_id' => $this->user_id,
'category_id' => $this->category_id,
'created_at' => (string) $this->created_at,
'updated_at' => (string) $this->updated_at,
];
В моей сводной таблице у меня есть это
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();
});
}
В моей модели я добавил это
protected $fillable = [
'user_id', 'category_id',
];
В моем route/api
Route::post('/category_user', 'OnboardsController@onboardupdate');
Я считаю, что ошибка здесь
'user_id' => $request->user()->id,
Когда я удалил ее, она не вернула ошибку
Когда я пытался сохранить в своей базе данных, используя Postman для тестирования, это не сохранение. Пожалуйста, я не знаю, что я делаю неправильно.
Спасибо