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

哈里森

我有一个产品型号

class Product extends Model
{
    ...

    public function prices()
    {
        return $this->hasMany('App\Price');
    }

    ...
}

我想添加一个将返回最低价格的函数,在控制器中,我可以使用以下方法获取值:

Product::find(1)->lowest;

我在产品模型中添加了此代码:

public function lowest()
{
    return $this->prices->min('price');
}

但我收到一个错误消息:

Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation

如果我使用Product::find(1)->lowest();,它将起作用。可以Product::find(1)->lowest;上班吗?

任何帮助,将不胜感激。

拉胡尔M

当您尝试以变量形式访问模型中的函数时,laravel会假定您正在尝试检索相关模型。他们称它们为动态特性。您需要的是自定义属性。

Laravel 6文档:https ://laravel.com/docs/6.x/eloquent-mutators

在模型中添加以下方法:

public function getLowestAttribute()
{
    //do whatever you want to do
    return 'lowest price';
}

现在您应该可以像这样访问它:

Product::find(1)->lowest;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在sqlalchemy模型中添加自定义函数/方法来执行CRUD操作?

如何在 Laravel eloquent 模型中添加 sql 函数

如何在模型 Laravel 中编写自定义查询?

如何在 Laravel 中为资源控制器添加自定义函数?

相关模型 eloquent laravel 中的自定义查询

如何在JavaScript中向自定义构造函数添加自定义方法?

如何在Sequelize中在导入的模型中创建自定义方法或函数

如何在 Rails 中为 ActiveRecord 模型添加自定义唯一性验证?

如何在Django Admin中向更改模型表单添加自定义操作?

如何在视图集使用的 Django 模型中添加列的自定义行级处理

如何在管理面板中添加自定义用户模型?

如何在pytorch自定义模型的模块类中添加参数?

如何在自定义函数中添加函数作为参数 - swift?

Laravel Eloquent:如何从与函数模型的关系中添加条件

在加载时向Laravel / Eloquent模型添加自定义属性?

如何在Laravel中对自定义模型使用身份验证

在anylogic中,如何在pedSource的inject()函数中为单个代理添加自定义参数

如何从Laravel中的自定义方法获取当前模型

如何过滤模型laravel中的自定义属性?

如何在自定义EVE路线中编写模型

如何在 Maple 中定义自定义函数?

如何在Node.JS中向响应对象添加自定义函数

如何在 update* 函数中为自定义 Shiny Input 添加 HTML 依赖项

如何在原始源代码中添加自定义NumPy函数?

如何在python函数中添加自定义参数parameter?

如何在自定义React组件中添加onclick函数?

如何在laravel中自定义resource中的implode函数结构

如何在Laravel 5中添加自己的自定义类?

如何在laravel 5.2中添加自定义验证规则?