将雄辩模型映射到表格?

时间:2016-02-17 12:36:10

标签: laravel eloquent

我们可以为表创建Eloquent模型。但是Laravel如何知道将模型与哪个表相关联?我们是否有类似于hbm.xml(我们用于Hibernate的映射文件),它说这个模型意味着这个表。

2 个答案:

答案 0 :(得分:3)

表名是受保护的属性:

class User extends Eloquent {
    protected $table = 'my_users';
 }

Laravel Docs

答案 1 :(得分:3)

您可以手动覆盖表名称,如上面的答案所述。 它只是Model.php类的受保护成员。

  class User extends Eloquent {
      protected $table = 'my_users';
  }

否则,将根据模型的类名自动使用小写的复数格式。 (class_basename($此))

如此处所示......(Illuminate / Database / Eloquent / Model.php)

 /**
 * Get the table associated with the model.
 *
 * @return string
 */
public function getTable()
{
    if (isset($this->table)) {
        return $this->table;
    }

    return str_replace('\\', '',    Str::snake(Str::plural(class_basename($this))));
}