Lumen QueryException When Running API



我正在学习Lumen框架并阅读该教程:使用Lumen开发RESTful API

目前正在工作,但是当我访问我的 API 时

http://example.com/api/accounts/2

它返回

SQLSTATE[42S02]:找不到基表或视图:1146 表 "youframe.accounts"不存在(SQL:从accounts中选择 *,其中accounts.id= 2 限制 1(

我有一个名为"帐户"的模型文件.php

<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Account extends Model
{
protected $fillable = [
'username', 'email', 'password', 'type' 
];
protected $hidden = [];
}

以及一个名为"帐户控制器"的控制器文件.php

<?php
namespace AppHttpControllers;
use AppAccount;
use IlluminateHttpRequest;
class AccountController extends Controller
{
public function getAccount($id, Request $request)
{
$this->validate($request, [
'token' => 'required'           
]);
return response()->json(Account::find($id), 400);
}
}

我没有叫accounts的表。我唯一的表是account,它从哪里呼唤accounts

将表名称添加到模型以将模型与后端数据库表相关联。

<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Account extends Model
{
protected $fillable = [
'username', 'email', 'password', 'type' 
];
protected $hidden = [];
protected $table = 'account';
}

如果您不提及表名,Laravel将采用模型名称的复数形式作为表名。有关更多参考,请参阅雄辩的模型约定。

更新

如果只想选择某些列,请在雄辩查询中使用 Select 命令。

$rows = Account::select(['column_name_1','column_name_2'])->get();

或者,如果您希望它们在数组中

$rows = Account::select(['column_name_1','column_name_2'])->get()->toArray();

最新更新