例如,我想要从 3 个模型到MyModel4 的数据。
$model1data = MyModel1::getList();
$model2data = MyModel2::getList();
$model3data = MyModel3::getList();
获取这些数据的目的是根据上述模型数据准备我的创建视图、编辑视图和显示视图。
现在我面临的问题是我可以使用MyModel1::getList(); 并将其传递给我的控制器的 create 方法。我想要用于控制器的显示和编辑方法的相同数据。为此,我必须使用MyModel1::getList();获取数据。. 我想优化我的代码以减少与数据库的交互/减少冗余处理。
那么有没有更短的方法可以让我在我的控制器或模型中编写它来获取这些数据一次并多次使用它而无需从另一个模型重复获取数据?
我尝试在模型中定义单独的方法,但无法使用变量进行访问。
public static function getRequiredData()
{
$model1data = MyModel1::getList();
$model2data = MyModel2::getList();
$model3data = MyModel3::getList();
}
public static function prepareCreate()
{
return (object)array("model1" => PublishPlan::getRequiredData().$model1data, "viewModes" => ViewMode::getList(), "planSchemes" => PlanSchemes::getList());
}
在上述方法(prepareCreate)中访问$model1data时出现错误。