选择用户单击的所有图像

时间:2017-03-28 12:44:30

标签: php laravel

我最近开始学习Laravel版本5.4但是我有一些错误,到目前为止我找不到答案。我试图建立用户友好的网址,并通过用户名而不是ID来加载用户的图像。

到目前为止,我已经在我的控制器中制作了这个

public function author(User $author) {

    $authorName = $author->username;

    $image = $author->with('author')->latestFirst()->paginate($this->limit);                          

    return view("author", compact('image', 'authorName'));

}

这在我的路线中

Route::get('/author/{author}', [

    'uses' => 'HomeController@author',
    'as' => 'author'
]);

这是我的链接

<a href="{{ route('author', $categoryImage->author->username ) }} ">{{ $categoryImage->author->username }}</a>

这是我的图片模型

public function author()
{
    return $this->belongsTo(User::class, 'image_author');
}

用户模型

public function images()
{
    return $this->hasMany(Image::class);
}

无论我点击什么链接,我总是会收到此错误

  

没有模型[App \ User]的查询结果。

我甚至不确定我的控制器和路线是否正确。

1 个答案:

答案 0 :(得分:1)

这应该解决它。 https://laravel.com/docs/5.4/routing#implicit-binding

将它放在您的用户模型中:

public function getRouteKeyName()
{
    return 'username';
}