我有表settings
與列: value
- VARCHAR類型包含設定值和type
- 枚舉類型包含變量類型"int", "string", "float"
。如何使用type
列中的字符串將此值轉換爲此類型?類型轉換使用字符串類型
我試圖做到這一點在我的模型,但它不工作:
public function getValueAttribute($value){
return ($this->type)$value;
}
我有表settings
與列: value
- VARCHAR類型包含設定值和type
- 枚舉類型包含變量類型"int", "string", "float"
。如何使用type
列中的字符串將此值轉換爲此類型?類型轉換使用字符串類型
我試圖做到這一點在我的模型,但它不工作:
public function getValueAttribute($value){
return ($this->type)$value;
}
您必須使用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;
}
你不能使用這樣的動態類型轉換,而必須使用第在。 settype()
需要兩個參數,即原始值和您要對其進行類型轉換的新類型。
public function getValueAttribute($value){
settype($value, $this->type);
return $value;
}
考慮使用'的setType()'代替 – Qirel