调用未定义的方法

时间:2013-11-06 11:31:44

标签: php laravel laravel-4

我想在我的模型中创建一个自定义函数,以便使用更复杂的查询检索数据,但是我得到一个错误,我的方法未定义。

//Model
class Host extends Eloquent {
    //custom function
    //or public static function
    public function allWithUser() {
    }
}

//Controller
//or Host::allWithUser();
$hosts = with(new Host)->allWithUser();

1 个答案:

答案 0 :(得分:1)

您有一些选项可以访问此方法,但我认为您向我们展示的那些方法不对。那些(非静态)方式你可能会成功:

$hosts = (new Host)->allWithUser();

$hosts = new Host;
$hosts->allWithUser();

但你的静态版应该有用。

修改

如果它不起作用,则必须实例化不同版本的Host类。

将模型类名称从“主题”更改为“主题测试”并检查是否

$hosts = new Host;

仍然适合你。

编辑2

如果您发现有两个使用相同名称的类,则可以检查文件

vendor/composer/autoload_classmap.php

应该在那里列出所有自动加载的类。

如果你在Linux上,你可以

find /your/app/path | grep Host.php

sudo grep -r "class Host" /your/app/path/*