php - Yii 获取模型作为参数

标签 php yii optional-parameters yii-cmodel

我正在尝试修改 1 个 Controller 以使用 2 个模型。这就是我在 Controller 中使用 loadModel 函数所做的事情

public function loadModel($id, $_model)
{
    if (isset($_model)){
        $model=$_model::model()->findByPk($id); // syntax error, unexpected "::"
        if($model===null)
            throw new CHttpException(404,'The requested page does not exist.');
        return $model;
    } else {
        $model=Foods::model()->findByPk($id);
        if($model===null)
            throw new CHttpException(404,'The requested page does not exist.');
        return $model;
    }
}

如您所见,我想为此函数创建可选参数,其中第二个参数是模型。你能帮我实现这个目标吗?

最佳答案

不能使用字符串作为类名来调用静态方法。只需实例化模型并调用 findByPk:

if (isset($_model)){
    $model = new $_model;
    $model= $model->findByPk($id);

关于php - Yii 获取模型作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18846234/

相关文章:

php - Yii2 上的 GridView : How to freeze header (i. e.,有一个固定的标题行)

javascript - 构造 x = x || 是什么?你的意思是?

php - MySQL 查询搜索(高级)

java - 如何将 PHP 时间戳转换为在 Java 中将日期时间格式显示为字符串(与 UTC 不同)?

layout - 对 Yii 中的多个模块使用通用布局

javascript - ajax 在没有更多数据时隐藏加载更多按钮

c# - 在 wcf 服务中传递可选参数

c# - 显式实现带有可选参数的接口(interface)的警告

php - PDO/mysqli 查询不会返回与带有正则表达式的 mysql cli 相同的行

php - JavaScript 和 PHP 中的 Web 服务之间的安全通信