当前位置: 首页 > 知识库问答 >
问题:

Laravel在Model.php中雄辩的公共静态函数“create”怎么了?

赫连泰宁
2023-03-14

在Laravel 5. x的早期版本中(我不确定它是什么时候改变的),我可以在任何雄辩模型类上调用静态方法create来将记录插入数据库。

例如:

EloquentUser::create([
    'name' => self::ADMIN_NAME,
    'email' => self::ADMIN_EMAIL,
    'password' => bcrypt(self::ADMIN_PASSWORD),
]);

这是在Model.php(vendor/laravel/framework/src/illighte/Database/Eloquent/Model.php)中调用公共静态函数create)。

public static function create(array $attributes = [])
{
    $model = new static($attributes);

    $model->save();

    return $model;
}

在Laravel 5.5我仍然能够调用创建但是Model.php是完全重新排列的,不包含此方法。更重要的是,在整个供应商/照明中搜索没有给我这样的东西。请解释一下,它是如何工作的,它在幕后称之为什么。

谢谢

共有2个答案

拓拔霄
2023-03-14

Model使用QueryBuilder,在方法代码所在的地方使用EloquentBuilder。找到特定属性或方法的最佳方法是使用框架api文档。

马绪
2023-03-14

Eloquent的\u call\u callStatic将调用转发给Eloquent构建器实例create方法已从模型中移出并移到构建器中。

illumb\Database\elount\Model::\uu callStatic-

 类似资料:
  • 问题内容: 和之间有什么区别? 例如 : 要么 问题答案: 尽管您 确实 希望遵守约定,但在功能上没有什么区别(字节码将 完全相同 ),请访问JLS-8.3.1。场修饰符: __ 这将是奇怪的,看.. 我也建议您访问checkstyle。 编辑: 从同一页面链接到该部分: http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls

  • 嘿,伙计们,我是拉威尔的新朋友。我有这张桌子 我如何能够获取每个科目的is_correct列计数? 谢谢伙计们!

  • 我想创建动态laravel类,以便动态调用查询。这是我的密码 但是当我试图调用这个类以便使用这个代码创建一个对象时 我得到这个错误 函数App\CRUD::uu construct()的参数太少,在第1630行的/var/www/html/logging/vendor/laravel/framework/src/illighte/Database/Eloquent/Model.php中传递了0,至

  • 我正在努力使用laravel函数 我的代码在这里: 存储时:公司存储良好,但对于公司人员,它将存储到 Larave Documentations说: 有时,您可能不仅希望保存模型,还希望保存其所有关系。为此,您可以使用推送方法: 怎么了?

  • 我想在PHPUnit测试中使用模拟对象(mockry)。模拟对象需要同时设置一些公共方法和一些公共属性。这门课是拉威尔雄辩的典范。我试过这个: ... 但是设置公共属性会返回以下错误: BadMethodCallException:此模拟对象上不存在方法Mockery_0_User::setAttribute() 在模拟简单类时不返回此错误,但在尝试模拟雄辩模型时返回此错误。我做错了什么?