4 回答
TA贡献1816条经验 获得超6个赞
我们有一个名为的模型属性cast,您可以在其中指定列名称,如下所示:
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'ratings' => 'integer',
];
TA贡献1936条经验 获得超6个赞
来自 Laravel 文档:
属性转换 模型上的 $casts 属性提供了一种将属性转换为通用数据类型的便捷方法。$casts 属性应该是一个数组,其中键是要转换的属性的名称,值是您希望将列转换为的类型。支持的转换类型包括整型、实型、浮点型、双精度型、小数型、字符串型、布尔型、对象型、数组型、集合型、日期型、日期时间型和时间戳型。转换为十进制时,必须定义位数(十进制:2)。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* The attributes that should be cast.
*
* @var array
*/
protected $casts = [
'ratings' => 'integer',
];
}
为 null 的属性将不会被强制转换。此外,您永远不应该定义与关系同名的强制转换(或属性)。
TA贡献2037条经验 获得超6个赞
您可以通过向模型添加protected $casts
int来在 Eloquent 中转换属性:
protected $casts = [ 'ratings' => 'integer', ];
这使用 return (int) $value将您的字段转换为整数。
- 4 回答
- 0 关注
- 153 浏览
添加回答
举报