【问题标题】:Laravel: Class 'CategoryModel' not found. How to access a model inside a sub-folder?Laravel:找不到类“CategoryModel”。如何访问子文件夹中的模型?
【发布时间】:2013-08-01 09:22:54
【问题描述】:

当我将 CategoryModel 放在 models 文件夹中时,它可以工作。但是当我将它放在像user 这样的子文件夹中时。它会抛出上述错误。

如图所示,模型在控制器内部被调用..

public function home() {
    // titling
    $data['title'] = "Price Soldier - Home";
    // controlling
    $data['current_category'] = "cellphones";
    $data['current_brand'] = "all";
    $data['current_sorting'] = "latest";
    $data['categories'] = CategoryModel::get_all_categories();
    $data['brands'] = BrandModel::get_all_brands_by_category("cellphones");
    $data['latests'] = ProductModel::get_products("cellphones", "all", "latest");
    $data['mvs'] = ProductModel::get_products("cellphones", "all", "most viewed");
    $data['plths'] = ProductModel::get_products("cellphones", "all", "price low to high");
    $data['phtls'] = ProductModel::get_products("cellphones", "all", "price high to high");
    // viewing
    return View::make("pages.user.home", $data);
}

那么,简单来说,如何访问子文件夹中的模型?

【问题讨论】:

  • 'composer dump-autoload' 在移动到模型/用户后被执行?
  • @AntonioCarlosRibeiro 不,我没有执行它。请详细说明
  • 你需要。只需在命令行执行此命令,composer 即可重建您的 auloading 类。每次你在 PHP 中使用一个类时,它必须: 1) 必需的(你可以在你的代码中这样做,但你不应该这样做);或 2) 自动加载(Composer 会为您执行此操作),否则它会给您显示您正在查看的错误。
  • @AntonioCarlosRibeiro 这有帮助。你应该发送一个答案,我会接受。

标签: exception model laravel laravel-4 nested


【解决方案1】:

在命令行上执行:

composer dump-autoload

composer dump-autoload -o
composer dumpautoload -o (dash is optional)

为了更好的优化和速度。

每次你在 PHP 中使用一个类时,它必须是:

1) 必需(您可以在代码中这样做,但不应该这样做);或

2) 自动加载(Composer 为您执行此操作)。

否则它会给你这个你正在查看的错误。

【讨论】:

    猜你喜欢
    • 2012-09-16
    • 1970-01-01
    • 2023-01-14
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多