javascript - 错误:找不到列:1054 未知列“p_categories.id”
问题描述
对于我的 laravel 项目,我创建了产品类别表并将数据添加到表中。现在我需要使用 get 方法获取每个 product_category 详细信息。
这是我创建的产品类别表,
public function up()
{
Schema::create('p_categories', function (Blueprint $table) {
$table->bigIncrements('category_id');
$table->string('name');
$table->string('size');
$table->timestamps();
});
}
我使用的类别控制器,
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\PCategory;
class CategoryController extends Controller
{
//
function addPCategory(Request $req)
{
$pcategory=new PCategory;
$pcategory->name=$req->input('name');
$pcategory->size=$req->input('size');
$pcategory->save();
return $pcategory;
}
function getCategory($id)
{
return PCategory :: find($id);
}
}
在我使用的 api.php 中,
Route :: post('addPCategory',[CategoryController::class,'addPCategory']);
Route :: get('Category/{id}',[CategoryController::class,'getCategory']);
我在邮递员中收到此错误
Illuminate\Database\QueryException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'p_categories.id' in 'where clause' (SQL: select * from `p_categories` where `p_categories`.`id` = 1 limit 1)
预先感谢您的帮助!
解决方案
您的桌子上没有一id
列p_catgeories
,您可以通过 do 添加一列,$table->id()
或者您将不得不使用category_id
而不是id
.
问题是该::find()
方法默认查找id
列。如果你真的想要category_id
代替id
,你可以覆盖或重写这个函数。
您还可以将:添加protected $primaryKey = 'category_id';
到您的PCategroy
模型中,并且find()
可以再次正常工作。
推荐阅读
- javascript - 尝试使用 JointJs 时未捕获的 TypeError
- node.js - NodeJS - 没有这样的文件或目录,scandir '/static/reports/'
- android - 有没有办法让 woocommerce 插件离线工作
- python - 变量不会在课堂上更新
- verilog - 我的代码在“生成 fulladder”附近有什么问题(错误:未定义模块)?
- python - 在 Pip 安装期间将非 Python 文件复制到特定目录
- css - v-bind 类不改变对象属性的 css
- angular - 使用路由时如何从 app.component.ts 调用 API
- javascript - 如何创建具有多种选择的woocomerce产品属性的新属性?
- node.js - UnhandledPromiseRejectionWarning:错误:找不到模块“tailwindcss”heroku 错误