我试图获取在FieldCategory模型中定义的静态变量的值。但是如果我尝试从crontroller访问常量,我会收到错误。 这是代码
$fieldCategories = FieldCategory::find(1)->first()->constants;
$test=FieldCategory::$fieldCategories;
$fieldCategories
包含一个值,该值是在model中声明的常量的名称。但是它给出了以下错误
"访问未声明的静态属性:
App\FieldCategory::$fieldCategories
"
答案 0 :(得分:0)
如果您想使用 $fieldCategories
的值作为常量名称,则需要使用
echo constant("FieldCategory::$fieldCategories");
使用FieldCategory::$fieldCategories
PHP会认为您正在尝试访问静态属性,这显然不是常量。
示例:强>
class Foo {
const BAR = 42;
}
$prop = 'BAR';
echo constant("Foo::$prop");
答案 1 :(得分:0)
请您检查一下这个解决方案,我希望它对您有用。
$data=constant("App\FieldCategory::{$fieldCategories}");