【问题标题】:What is actually model in laravel and where it is used?laravel 中的实际模型是什么以及它在哪里使用?
【发布时间】:2017-10-02 03:25:56
【问题描述】:

我不明白模型和 Eloquent 是什么。我试过这段代码

<?php

    class Nerd extends Eloquent
    {

    }

但仍然不明白这是什么。建模有什么作用?

【问题讨论】:

  • 欢迎来到 StackOverflow。请采取tour,学习提出好问题stackoverflow.com/help/how-to-ask。您的问题似乎很不具体,您可能想在这里找到教程而不是问编码问题。
  • 我是新来的。会学习..!

标签: php laravel web frameworks


【解决方案1】:

这里分步讨论

Eloquent ORM (object relational Mapping) 包含在 Laravel 中,并提供了一个额外的层来处理您的数据库。通常,我们直接对数据库中的表进行交互或查询。这就是我们使用phpmysql 编写如下代码的原因:

select * from table_name

Laravel 还提供了一个查询构建器来直接与表交互。假设一个表名是 users:

   DB::table('users')->select('*')->get();

Eloquent 提供了一个额外的层来与表交互,方法是创建一个相应的“模型”,用于与该表进行交互。模型允许您查询表中的数据,以及将新记录插入表中。模型制作完成后,所有与表格的交互都将通过模型完成。

例如:

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
//
}

这里的 User 模型代表 users 表。模型名是单数,对应的表名是复数。

如果需要所有用户数据,Eloquent 查询将是

$users= App\User::all();

如果在控制器内部使用了命名空间(Eloquent 查询所在的位置)

use App\User;
$users = User::all(); //here no need to give App namespace like the above code

【讨论】:

    【解决方案2】:

    Laravel 中包含的 Eloquent ORM 提供了一个漂亮、简单的 ActiveRecord 实现来处理你的数据库。每个数据库表都有一个相应的“模型”,用于与该表进行交互。模型允许您查询表中的数据,以及向表中插入新记录。

    【讨论】:

      【解决方案3】:

      Eloquent 和 Model 没有区别,如果你看到 config/app.php 文件你会发现这个别名

      'Eloquent' =&gt; Illuminate\Database\Eloquent\Model::class,

      当你使用“Eloquent”时,它会引用Model类,如果你使用“Model”,那么它也会引用同一个类。

      【讨论】:

      • 你能告诉我什么是真正的模型和雄辩。我是初学者。这很难进入大脑。
      • 如果你是 Laravel 新手,这可能是了解 Laravel 基础知识的好地方:Laracasts: laravel from scratch(第 7 集是关于 Eloquent)
      【解决方案4】:

      Laravel 是一个 MVC 基础框架,模型是 MVC pattern 中的 M,它将扩展 Illuminate\Database\Eloquent\Model 的类映射到数据库表并管理所有数据库功能。 laravel 中的模型位于app/ 目录中,可以使用工匠命令“php artisan make:model ModelName”创建,然后它们可以在您的控制器中用于与数据库交互

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-01
        • 2021-06-25
        • 1970-01-01
        • 1970-01-01
        • 2019-01-30
        • 2011-02-05
        • 2018-09-15
        • 2016-02-01
        相关资源
        最近更新 更多