php - 没有在 Eloquent 模型中设置表

标签 php laravel laravel-4

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

型号:

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');
   }

}

更改关系方法和测试。

Sory:我的英文不好。

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

相关文章:

php - 为什么 php 脚本变慢了?

php - 下拉菜单选择()不工作 Laravel Dusk

linux - 使用 Linux 用户凭证的 Laravel 身份验证

php - 使用 Laravel,您可以在迁移过程中更改列名称吗?

php - Laravel 4.2 不返回 View ::make

拉拉维尔 4 : how can I put data into every view?

php - Ajax 调用有效;不再工作

php - 如何在 Shopware 6 Controller 中发送电子邮件?

php - 在 Laravel 4 的 View 中使用 explode

php - 我们如何知道 PDO 正在逃避 SQL 注入(inject)?