laravel - 获取用户的所有帖子
问题描述
我对 Laravel 真的很陌生,并且遇到了一些问题。我有一个 /user/USERNAME 视图,它显然显示了用户个人资料。但现在我想让用户发布的所有帖子都显示在他的个人资料上。
我的 web.php
Route::group(['middleware' => 'auth'], function() {
Route::any('/user/{username}', [
'as' => 'user',
'uses' => 'UserController@view_user'
]);
});
我的用户模型
public function posts() {
return $this->hasMany(Post::class);
}
我的帖子模型
public function user() {
return $this->belongsTo(User::class);
}
我的用户控制器
public function view_user($username = null) {
$user = null;
$user = User::where('name', $username)->firstOrFail();
$posts = Post::where('creator', $username)->get();
return view('/user', [
'user' => $user,
'posts' => $posts
]);
}
public function index() {
$posts = Post::all();
return view('user', compact('posts'));
}
当我尝试使用例如 {{ $posts->title }} 获取帖子时,它给了我:此集合实例上不存在属性 [title]。
我应该如何以正确的方式做到这一点?
解决方案
$posts
返回一个集合,因此为了检索帖子的标题,您需要遍历集合的单个项目。然后你可以使用$post->title
.
推荐阅读
- laravel - Laravel 得到 Internal Server Error 怎么解决?
- makefile - 解释makefile的语法
- typescript - 如何为具有特定类型的对象切片声明类型?
- python - ForkingPickler(file, protocol).dump(obj) TypeError: cannot pickle '_tkinter.tkapp' object
- java - 断言放心数组中的每个标志等于 True/False
- python - 使用 setattr() 时出现 AttributeError
- excel - 如何制作一个循环将每个单元格划分 3 次?
- javascript - 未捕获的错误:提供的 DOM 元素在 plotly JS 中为 null 或未定义
- python - 当我们使用python从云存储桶下载文件时如何显示进度条
- android - Hilt Fragments 必须附加到 @AndroidEntryPoint Activity。发现:类