【发布时间】:2019-09-03 10:12:05
【问题描述】:
当我的帖子表中只有用户名时,我想从用户表中获取用户头像。
我尝试过这样的 foreach 循环:
$posts = Post:all();
foreach($posts as $post) {
$user = User::where('name', $post->creator)->get();
}
return view('welcome')->with('posts', $posts)->with('user', $user);
然后像这样在我的视图中循环它:
@foreach($posts as $post)
@foreach($user as $creator)
<span>{{ $creator->avatar }}</span>
<span>{{ $post->post_url }}</span>
@endforeach
@endforeach
但它返回给我的是相同的头像,而不是属于该帖子的用户的头像。
我的用户模型:
protected $fillable = [
'name', 'email', 'password', 'avatar', 'full_name', 'slug'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function posts() {
return $this->hasMany(Post::class, 'creator','name');
}
后模型:
protected $fillable = [
'creator', 'post_url', 'game', 'likes', 'created_at'
];
public function user() {
return $this->belongsTo(User::class);
}
我的 web.php:
Route::get('/', 'PostController@main_page');
我的函数main_page:
public function main_page()
{
$posts = Post:all();
foreach($posts as $post) {
$user = User::where('name', $post->creator)->get();
}
return view('welcome')->with('posts', $posts)->with('user', $user);
}
有人可以启发我并带我走上正确的道路吗?谢谢!
【问题讨论】:
标签: laravel