我开始学习Laravel。我已经成功浏览了该站点的示例说明,现在我正在尝试第二次运行,但遇到了问题。
我正在尝试连接到名为的数据库,zipCodes
并且有一个名为的表zipCodeDetails
。
在我的Laravel项目中,我有一个包含以下代码的模型:
<?php
class ZipCodeDetails extends Eloquent {}
在我的routes.php
文件中,我有以下代码:
Route::get('zipCodes', function (){
$zipCodes = ZipCodeDetails::all();
return View::make('zipCodes')->with('zipCodes', $zipCodes);
});
我遇到的错误是当我尝试加载URL时:
http://localhost:8888/zipCodes
在我的浏览器中,我得到了错误代码:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'zipcodes.zip_code_details' doesn't exist (SQL: select * from `zip_code_details`)
我的代码中没有定义将数据库定义zipCodes
为zipcodes
或将表定义zipCodesDetails
为的任何内容zip_code_details
。laravel中的某些内容正在更改数据库和表名。
有谁知道为什么发生这种情况以及如何预防呢?我不想只是重命名数据库或表名,因为尽管这可能会让我通过测试,但实际上这不是一个可行的解决方案。
谢谢!
如果未明确定义表,这就是使用的行为。在您的ZipCodeDetails类中,可以设置此模型将使用的表名。
class ZipCodeDetails extends Eloquent
{
protected $table = 'zipCodesDetails';
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句