Php 控制器中laravel未检测到的模型方法。可能是路由问题?

Php 控制器中laravel未检测到的模型方法。可能是路由问题?,php,laravel,eloquent,Php,Laravel,Eloquent,由于我缺乏使用Laravel的经验,我很难理解为什么我可以获得后模型变量,但是当我尝试调用它的方法时会抛出错误。我不知道这是否是一个路由问题。这是基于Laravel bootstrap starter站点的以下错误和RegisteredUserController如下所示 Call to undefined method stdClass::url() 提前谢谢你 您当前正在使用查询生成器,但希望得到一个有说服力的结果。使用DB::table时,您的结果将只包含裸对象,而不是模型(使用url

由于我缺乏使用Laravel的经验,我很难理解为什么我可以获得后模型变量,但是当我尝试调用它的方法时会抛出错误。我不知道这是否是一个路由问题。这是基于Laravel bootstrap starter站点的以下错误和RegisteredUserController如下所示

Call to undefined method stdClass::url()


提前谢谢你

您当前正在使用查询生成器,但希望得到一个有说服力的结果。使用
DB::table
时,您的结果将只包含裸对象,而不是模型(使用
url()
等函数)

你可以试试这个

$posts = Post::join('registered_posts' , 'posts.id' , '=' , 'registered_posts.post_id')->get();
您可能还希望将已注册的帖子定义为关系,然后像这样加载它

$posts = Post::with('registeredPosts')->get();

后置控制器和视图的相关部分
Route::group(array('prefix' => 'registered', 'before' => 'auth'), function()
{


    # Admin Dashboard
    Route::post('registered', 'RegisteredUserController@getIndex');
    Route::controller('/', 'RegisteredUserController');
});
$posts = Post::join('registered_posts' , 'posts.id' , '=' , 'registered_posts.post_id')->get();
$posts = Post::with('registeredPosts')->get();