在 Laravel 6 中,基于 Eloquent 的修改器的属性类型转换,替换 (bool)
1、在 API 响应中,字段:”processing”: false,。如图1
2、字段 processing 的 类型为 tinyint(1)。其值为 0、1。如图2
3、原有的实现如下
/**
* 模型的默认属性值。
*
* @var array
*/
protected $attributes = [
'processing' => 1,
// ...
];
$wpTheme['processing'] = (bool) $wpTheme['theme_installation']['processing'];
4、模型中的 $casts 属性提供了一个便利的方法来将属性转换为常见的数据类型。调整后的实现如下,不再需要明确手动地转换属性类型。
/**
* 模型的默认属性值。
*
* @var array
*/
protected $attributes = [
'processing' => true,
// ...
];
/**
* 这个属性应该被转换为原生类型.
*
* @var array
*/
protected $casts = [
'processing' => 'boolean',
// ...
];
$wpTheme['processing'] = $wpTheme['theme_installation']['processing'];
5、表中的值为 0 ,响应的 API 的值为 false。符合预期。如图3



近期评论