我将Laravel中的模型存储在变量中作为String。
$model = "App\Models\City";
我想要的是
$model::find(1) to fetch the City with ID of 1
但它没有像预期的那样发挥作用。但是,当我做的时候
City::find(1)
不使用$ model变量。我可以取得预期的结果。
任何?
答案 0 :(得分:4)
$model = app("App\Models\City");
$model::find(1);
答案 1 :(得分:3)
您可以使用此功能,您可以参考How can I call a static method on a variable class?了解更多信息。
$city = call_user_func($class . '::find', 1);
答案 2 :(得分:3)
您可以使用call_user_func
试试这个:
$model = "App\Models\City";
$id =1
$city = call_user_func(array($model, 'find'), $id);