0

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

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

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

1 回答 1

1

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

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

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

但是您的静态版本应该可以工作。

编辑

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

将模型类名称从“Host”更改为“HostTest”并检查是否

$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/*
于 2013-11-06T11:43:24.730 回答