【发布时间】:2021-10-31 15:42:58
【问题描述】:
我的控制器中有代码:
public function show(Postmeta $sku)
{
$sql = "select * from wp_posts po
join wp_postmeta wp on wp.post_id = po.ID and wp.meta_key = '_sku'
where po.post_type = 'product' and wp.meta_value = ?";
$prod = DB::select($sql, array($sku));
return response(['product' => CEOResource::collection($prod),
'message' => 'Retrived Successfully'], 200);
}
我的路线是:
Route::apiResource('productos', ProductosController::class )->parameters([
'productos' => 'sku'])->middleware('auth:api');
我调用 API:
http://localhost:8081/sportzone-api/public/api/productos/woo-belt
结果是:
"message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select * from `wp_postmeta` where `id` = woo-belt limit 1)",
"exception": "Illuminate\\Database\\QueryException",
我不明白这个问题。
谢谢
【问题讨论】:
-
该错误似乎与您提供的代码无关。它通知您在您的数据库中的
wp_postmeta表中不存在列id。 -
但是查询没有问题,那么问题可能出在 Route::apiResource()