0

コントローラーに次の安らかな機能があります

public function get_index()
{
    return Event::all();
}

しかし、それは次のエラーを返します

Unhandled Exception

Message:

Call to undefined method Laravel\Event::all()
Location:

/Applications/MAMP/htdocs/calendar/application/controllers/home.php on line 8

これが私の完全なコントローラーです

class Home_Controller extends Base_Controller {
    public $restful = true;

    public function get_index()
    {
        return Event::all();
    }

}

なぜこのエラーが発生するのですか?どうすれば修正できますか?

4

2 に答える 2

3

ここでも、モデルの名前を付ける必要があります。Laravel のビルトイン Events クラスと競合しています。

<?php namespace Model;

class Event {

}

そして、それを呼び出したいときは、次のように呼び出しますreturn Model\Event::all();

于 2013-04-08T06:56:40.443 に答える
2

名前空間とクラスを登録する必要があります。

//application/start.php

Autoloader::map(array(
    'Modelpath' => path('event').'models/event.php', //path to your directory and class
));

Autoloader::namespaces(array(
    'Model' => path('Modelpath'),
));

名前空間でクラスを呼び出したくない場合は、エイリアスを定義できます。

//application/config/application
'aliases' => array(
    ...
    'Event' => 'models\\Event' //path and filaname of your class without extension
),
于 2013-04-08T08:12:18.877 に答える