Javascript 错误:未找到列:1054未知列';p#u categories.id';

Javascript 错误:未找到列:1054未知列';p#u categories.id';,javascript,json,laravel,api,postman,Javascript,Json,Laravel,Api,Postman,对于我的laravel项目,我创建了ProductCategory表并向表中添加数据。现在我需要使用get方法获取每个产品类别的详细信息 这是我创建的产品类别表 public function up() { Schema::create('p_categories', function (Blueprint $table) { $table->bigIncrements('category_id'); $table->string('name

对于我的laravel项目,我创建了ProductCategory表并向表中添加数据。现在我需要使用get方法获取每个产品类别的详细信息

这是我创建的产品类别表

 public function up()
{
    Schema::create('p_categories', function (Blueprint $table) {
        $table->bigIncrements('category_id');
        $table->string('name');
        $table->string('size');
        $table->timestamps();
    });
}
我使用的CategoryController

<?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);
 }
}
我在《邮递员》中发现了这个错误

  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)
提前感谢您的帮助

find($id)方法假定表的索引名为'id',但您的索引名为category\u id。 替换

返回pccategory::find($id);

return PCategory::where('category_id',$id)->first();

我会使用id作为我的表格,避免打破惯例。

如果
p\u目录上没有
id
列,您可以通过执行
$table->id()
添加一列,或者您必须使用
类别id
而不是
id

问题是
::find()
方法默认查找
id
列。如果您确实想要
category\u id
而不是
id
,则可以覆盖或重写此函数


您还可以添加:
protected$primaryKey='category_id'到您的
PCategroy
模型和
find()
将再次正常工作。

这与javascript有什么关系?现在它的工作非常正常。非常感谢你的帮助!我很高兴它能起作用,如果你能接受我的回答那就太好了。非常感谢!快乐编码。享受查找方法;)。
  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)