首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制器访问模型- Laravel 4

控制器访问模型- Laravel 4
EN

Stack Overflow用户
提问于 2013-07-07 18:24:25
回答 2查看 8.9K关注 0票数 4

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

我有个模特

代码语言:javascript
复制
class Config extends Eloquent {

    public static $table = 'configs';

}

控制器就像

代码语言:javascript
复制
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模型时,我得到的是错误:

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

请帮帮我!

我知道这个问题可以帮助很多像我和我的同事这样的拉拉维尔4新手,所以请帮助我!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-07 18:45:31

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

票数 5
EN

Stack Overflow用户

发布于 2013-07-07 18:46:14

正如注释所指出的,Config实际上是一个已经定义/使用的类。

你有两个选择:

备选案文1:

命名空间您的Config模型:

代码语言:javascript
复制
<?php namespace My\Models;

use Illuminate\Database\Eloquent\Model;

class Config extends Model { ... }

然后在你的控制器里:

代码语言:javascript
复制
$config_items = My\Models\Config::all();

注意:如果您使用选项1(我建议您这么做),则需要为您的命名空间库设置自动加载。请参阅这篇关于setting up your own Laravel library with autoloading的博客文章。

备选案文2:

不要使用Config作为模型名:

代码语言:javascript
复制
<?php

class Configuration extends Eloquent { ... }

然后在你的控制器里:

代码语言:javascript
复制
$config_items = Configuration::all();

希望这能帮上忙!

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17514951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档