在我的一些测试中,我创建了一个用户模型,并运行了一些需要保存某些属性的方法.在rails中,我通常会调用user.reload之类的函数,从数据库中重新填充属性.

拉维尔有办法做到这一点吗?我通读了api,却找不到一个方法:http://laravel.com/api/4.1/Illuminate/Database/Eloquent/Model.html.关于"正确"的方法有什么 idea 吗?

推荐答案

I can't see it either. Looks like you'll have to:

$model = $model->find($model->id);

您也可以自己创建一个:

public function reload()
{
    $instance = new static;

    $instance = $instance->newQuery()->find($this->{$this->primaryKey});

    $this->attributes = $instance->attributes;

    $this->original = $instance->original;
}

只是在这里测试了一下,它看起来很有效,但不确定这能走多远,不过,Eloquent 是一门相当大的课程.

Laravel相关问答推荐

使用 Laravel 10 在 Blade 中添加成功消息

如何通过 Eloquent 获取单个集合中每位教师的学生人数

如何通过单击进入 vs 代码中的类

处理程序类中的错误 - Laravel

指令allow_call_time_pass_reference警告

如何监控 Laravel 队列是否正在运行?

Laravel 5 - 仅在特定页面/控制器(页面特定assets资源)上添加样式表

具有实时和 WebSockets 的 Angular2 + Laravel

Laravel:如何在没有数据库的情况下对用户进行身份验证

为什么我的 Laravel 队列作业(job)在 60 秒后失败?

未找到 PHP 5.4 和 Laravel 类Memcached

如何在 AWS Elastic Beanstalk 上设置和使用 Laravel 调度?

php Laravel-遇到格式不正确的数值(在字符串上)

从 Artisan 电话中获得响应

使用 Laravel 使用 2 个磁盘复制文件

如何使用 Laravel 测试授权重定向?

Laravel 事件、监听器、作业(job)、队列之间的区别

php artisan migrate - SQLSTATE [HY000] [1045] 用户'laravel'@'localhost'的访问被拒绝

Laravel 如何在 Eloquent 模型中添加自定义函数?

Laravel 5.3 - 用户Collection 的单一通知(关注者)