我在用 Eloquent 模型设置我的 table 时遇到了一些问题。我以前做过很多次,但由于某种原因,这似乎不起作用。我在这里完全错过了什么吗?

模型:

class F5Host extends Eloquent {


   protected $guarded = array();
   protected $table = 'f5hosts';


   public function Environments() {
      return $this->belongsTo('Environment');
   }

}

用法:
  $host = new F5Host;
  return $host->all();

错误:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'myapp.f5_hosts' doesn't exist (SQL: select * from `f5_hosts`)

更新:
我知道 Laravel 有一个功能,可以在使用模型确定数据库表名称时将 CamelCase 转换为 snake_case。但是 $table 变量应该覆盖它。我注意到当将类名更改为“F5host”时,覆盖突然开始工作。

最佳答案

创建环境类模型

例子

class Environment extends Eloquent {


   protected $guarded = array();
   protected $table = 'environment';


   public function f5hosts() {
      return $this->hasOne('F5Host');
   }

}

更改关系方法和测试。

索里:我的英语不好。

关于php - 表格未设置在 eloquent 模型中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27611931/

10-12 00:05