Javascript 错误:未找到列:1054未知列';p#u categories.id';
对于我的laravel项目,我创建了ProductCategory表并向表中添加数据。现在我需要使用get方法获取每个产品类别的详细信息 这是我创建的产品类别表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
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)