4

我是 Laravel 的新手。如果这个问题听起来很幼稚,请原谅。

我有一个模型

class Config extends Eloquent {

    public static $table = 'configs';

}

控制器就像

class UserController extends BaseController {

    Public function getIndex ()
    {
        $config_items = Config::all ();
        var_dump ( $config_items );
        return View::make ( 'user.userindex' )
                        -> with ( 'title', 'User Page' );
    }

}

但是当我尝试访问 Config 模型时,我收到了错误:

Symfony \ Component \ Debug \ Exception \ FatalErrorException 调用未定义的方法 Illuminate\Config\Repository::all()

错误信息

请帮忙!

我知道这个问题可以帮助许多像我和我的同事这样的 Laravel 4 新手,所以请帮忙!

4

2 回答 2

8

正如评论者指出的那样,Config实际上是一个已经定义/使用的类。

你有两个选择:

选项1:

命名您的Config模型:

<?php namespace My\Models;

use Illuminate\Database\Eloquent\Model;

class Config extends Model { ... }

然后在你的控制器中:

$config_items = My\Models\Config::all();

注意:如果您选择选项 1(我建议您这样做),您需要为命名空间库设置自动加载。请参阅这篇关于使用自动加载设置您自己的 Laravel 库的博客文章。

选项 2:

不要Config用作模型名称:

<?php

class Configuration extends Eloquent { ... }

然后在你的控制器中:

$config_items = Configuration::all();

希望有帮助!

于 2013-07-07T18:46:14.700 回答
5

我认为 Config 是 laravel 用来管理配置文件的保留关键字,所以请尝试将模型名称更改为其他名称

于 2013-07-07T18:45:31.313 回答