我是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新手,所以请帮忙!
答案 0 :(得分:8)
正如评论者指出的那样,Config
实际上是一个已经定义/使用的类。
您有两种选择:
命名空间Config
模型:
<?php namespace My\Models;
use Illuminate\Database\Eloquent\Model;
class Config extends Model { ... }
然后在你的控制器中:
$config_items = My\Models\Config::all();
注意:如果选择选项1(我建议您这样做),则需要为命名空间库设置自动加载功能。请参阅setting up your own Laravel library with autoloading上的此博客文章。
不要将Config
用作型号名称:
<?php
class Configuration extends Eloquent { ... }
然后在你的控制器中:
$config_items = Configuration::all();
希望有所帮助!
答案 1 :(得分:5)
我认为Config是laravel用来管理配置文件的保留关键字,所以请尝试将模型名称更改为其他内容