我对Laravel 5有疑问。使用Form::open
后,会出现一些错误:
error : Call to a member function domain() on a non-object
FatalErrorException in UrlGenerator.php line 440:
Call to a member function domain() on a non-object
in UrlGenerator.php line 440
at HandleExceptions->fatalExceptionFromError(array('type' => '1', 'message' => 'Call to a member function domain() on a non-object', 'file' => '/home/nl/Laravel/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php', 'line' => '440')) in HandleExceptions.php line 116
at HandleExceptions->handleShutdown()
这是我的LoginCheckController.php:
<?php namespace App\Http\Controllers;
class LoginCheckController extends BaseController {
public function index()
这是我的路线:
Route::post('/LoginCheck', 'LoginCheckController@index');
在视图中我有这个:
{!! Form::open(array('action' => 'LoginCheckController@index')) !!}
我还运行了composer dump-autoload
和php artisan clear-compiled
,但我仍然遇到错误。我忘记了什么吗?
我解决了它:
答案 0 :(得分:0)
尝试在操作中包含命名空间:
{!! Form::open(array('action' => 'App\Http\Controllers\LoginCheckController@index')) !!}
http://laravel.io/forum/10-03-2014-laravel-5-call-to-a-member-function-domain-on-a-non-object
答案 1 :(得分:0)
首先更新您的laravel框架包,查看您正在运行的行。
其次,在Laravel 5中,所有内容都存在于App
命名空间中,您的控制器位于App\Http\Controllers\
中。路由正在工作,因为它在RouteServiceProvider
。
尝试在使用action
时在模板中添加命名空间,或使用这样的命名路由:
Route::post('/LoginCheck', ['uses' => 'LoginCheckController@index', 'as' => 'login.check.index']);
{!! Form::open(['route' => 'login.check.index']) !!}