我的表settings
包含列:
value
- varchar类型包含设置值,type
- 枚举类型包含变量类型"int", "string", "float"
。如何使用type
列中的字符串将值转换为此类型?
我试图在我的模型中这样做,但它不起作用:
public function getValueAttribute($value){
return ($this->type)$value;
}
答案 0 :(得分:2)
你不能使用这样的动态类型转换,相反,你必须使用一个函数。 settype()
接受两个参数,即原始值,以及要将其类型转换为的新类型。
public function getValueAttribute($value){
settype($value, $this->type);
return $value;
}
答案 1 :(得分:1)
您必须使用settype()
功能:
<?php
$var = 42;
var_dump($var); // int 42
$type = 'string';
settype($var, $type);
var_dump($var); // string '42'
改编自您的代码段:
public function getValueAttribute($value){
settype($value, $this->type);
return $value;
}