【问题标题】:Inheritance model Laravel 5继承模型 Laravel 5
【发布时间】:2016-01-10 01:18:01
【问题描述】:

我对 laravel 有疑问。我需要创建两个这样的类:

Class Users {}
Class Companies extends Users {}

这是一种继承关系。这是我的数据库:

而且我不知道如何在 Laravel 中创建模型用户和公司。以及如何使用它们。 你能帮帮我吗?

提前谢谢你!!

【问题讨论】:

  • 我从图中不清楚数据库中的关系是什么-companies 上的ididusers 的外键吗?如果是这样,并且这是一种继承关系(我将其解读为“公司是一种特殊类型的用户”),为什么siren 是主键的一部分,这意味着users 中的一行可以连接到companies 中超过一行?
  • 是的,company 上的 id 是用户 id 的外键。公司是特殊类型的用户:)。但是对于一个用户来说,可能只有一家公司。
  • 这里真的需要继承吗? Eloquent 不支持这一点,可以通过覆盖 Eloquent 的一些方法来做到这一点,但在您的情况下,这似乎不值得付出努力。用户和公司之间的一对一关系还不够吗?

标签: database laravel inheritance


【解决方案1】:

如果您使用的是artisan,那么事情就像在您的终端中输入以下命令一样简单,假设您的pwd 是您的项目目录

php artisan make:model User

这将创建一个User.php 文件,它是一个名为 User 的类,并继承自 eloquent 的模型类 Model.php。

如果你想创建一个模型并在数据库中创建一个包含某些列的表,你可以在前面的命令中使用--migration参数,例如:

php artisan make:model User --migration

运行此命令后,您必须打开 database/migrations 并根据您的需要修改创建的文件。

如果你不使用artisan - 那么你应该是 - 你可以通过在从 eloquent 模型扩展的文件中创建一个新类来手动创建模型。

例如:

use Illuminate\Database\Eloquent\Model;


class User extends Model 
{

}

应该就是这样。

如需进一步阅读,请参阅 Laravel 的文档,其中包含所有基本问题,例如您刚刚提出的问题。

有关模型的文档的链接,请点击here

【讨论】:

  • 哦,我认为我的解释很糟糕。我知道如何创建模型以及如何使用它等...但我不知道如何创建具有继承关系的模型。 laravel 文档没有提到这一点。
  • 继承关系?你的意思是OOP继承吗?
猜你喜欢
  • 2014-04-04
  • 2018-06-16
  • 2014-07-21
  • 2019-03-28
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 2016-05-27
相关资源
最近更新 更多