我正在尝试创建名为CustomDataStore
( models/custom_data_store.php
) 的模型,它正在扩展 Eloquent,因此表被命名为custom_data_stores
,但它给了我错误。
Eloquent 想要名为customdatastores
. 当然我可以手动设置表名,但是如何自动设置这样的名称呢?
要自动制作它,您的模型必须在models/custom/data/store.php
class Custom_Data_Store extends Eloquent
{
}
我注意到,如果模型的文件名上有下划线,laravel 的 eloquent 并不能真正“看到”。我不太确定里面发生了什么(仍然是新手),但这只是基于我的观察..
我所做的是
我有两个不同的模型,名为tblReport_date.php
和tblReportdate.php
,它们都有相同的代码,只是它们指向不同的表。
tblReportdate.php
代码:
<?php
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class tblReportdate extends Eloquent implements UserInterface, RemindableInterface
{
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'tblClients';
...rest of the codes...
tblReport_date.php
代码:
<?php
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class tblReportdate extends Eloquent implements UserInterface, RemindableInterface
{
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'tblReport_date';
...rest of the codes...
在控制器上,我有这个代码
$db = tblReportdate::all();
return View::make('db.index')->with('db', $db);
结果是它只会加载tblReportdate.php
而不是tblReport_date.php
我尝试tblReport_date.php
单独提取并对其进行测试..它总是返回错误,无论类名如何等等..以及 IDK 为什么。如果有人可以解释这一点,请将其注释掉。无论如何,请避免在文件名上加下划线 XD