Php 尝试获取非对象Laravel的属性

Php 尝试获取非对象Laravel的属性,php,laravel,laravel-routing,Php,Laravel,Laravel Routing,我有一条属于授权组的路线: Route::get('clan/leave',[ 'as' => 'clan-leave', 'uses' => 'ClanController@getLeave' ]); 这将导致我的控制器使用函数getLeave(),它是: public function getLeave(){ return "Test"; } 然后,我有一个基本链接,它将用户带到/clan/leave,该链接应启动控制器功能并显

我有一条属于授权组的路线:

Route::get('clan/leave',[
        'as' => 'clan-leave',
        'uses' => 'ClanController@getLeave'
    ]);
这将导致我的控制器使用函数getLeave(),它是:

public function getLeave(){
    return "Test";
}
然后,我有一个基本链接,它将用户带到/clan/leave,该链接应启动控制器功能并显示“Test”。这并没有发生,我得到了这个错误:

Trying to get property of non-object: Laravel\app\views\clan\display.blade.php
我不明白为什么这个显示文件会涉及其中。我有另一条路线/部落通往这里

我没有看到什么?
非常感谢。

我发现了我的问题

我有这条路线:

Route::get('clan/{id}',[
        'as' => 'clan',
        'uses' => 'ClanController@getOther'
    ]);

而这条路线正在发射,而不是预定的路线。我只能假设这是因为它选择了氏族/离开(离开是一个变量,而不是一条路线)。我通过将此路由移动到路由的底部来解决此问题

那么display.blade.php中有什么内容?你能提供与你的问题相关的文件内容吗?我目前不在我的电脑上。不过我可以稍后获得内容。我相信这不是该文件内容的问题,因为它甚至不应该使用该文件。路由不应该把它带到那里。该文件使用对象来显示信息,这样我就可以了解在未提供对象的情况下尝试转到该文件时出错的原因。不管怎样,它不应该进入那个文件。对吗?你是如何生成URL的。您的as使用-非。这是故意的吗?路线的名字是部落离开。url是使用url::route('clan-leave')生成的。对不起,你所说的“不使用”是什么意思?我只是指出你在路线名称中使用的是破折号而不是点,以及这是否是故意的。我真的不明白为什么这不起作用,我找不到你提供的代码和示例有任何错误。您说它不应该使用display.blade.php文件,但异常消息中引用了该文件。您需要在调试消息的帮助下进行回溯,以找出其来源。路由在Laravel中从上到下进行,第一个匹配是第一个选择。最好的做法是将通配符/参数放在最后一个位置,或放在堆的较低位置。