嗨我正在尝试进行像
这样的查询{{ \App\User::where(['name' => $posts->username])->pluck('avatar') }}
但是这个查询会输出类似这样的内容
["1486468548.jpg"]
我在期待
1486468548.jpg
这样它实际上可以被阅读。关于如何删除块和引号的任何想法???我知道在刀片服务器中查询不是一个好习惯,但是我的代码流程不知道如何更改用户头像。
我的控制器看起来像这样。它是从哪里生成帖子的。有没有办法让我的用户头像具有值帖子表。我知道它存在,但我不知道如何
public function getDashboard()
{
$posts = Post::orderBy('created_at', 'desc')->get();
return view('home', ['post' => $posts]);
}
答案 0 :(得分:0)
试试这个......
{{ \App\User::where(['name' => $posts->username])->pluck('avatar')->first() }}
答案 1 :(得分:0)
在Laravel 5.4 pluck()
中返回这些值的集合(即使只有一个)。
您可以这样做:
\App\User::where(['name' => $posts->username])->pluck('avatar')->first();
或
\App\User::where(['name' => $posts->username])->first()->avatar;
话虽如此,我还建议在Post
和User
之间建立一种关系,这样您就可以急切地加载这些关系,以便您能够:
https://laracasts.com/series/laravel-from-scratch-2017/episodes/15 https://laravel.com/docs/5.4/eloquent-relationships#one-to-many
然后你可以加载用户的帖子:
$posts = Post::with('user')->orderBy('created_at', 'desc')->get();
并通过以下方式获取头像:
$post->user->avatar;
希望这有帮助!
答案 2 :(得分:0)
这是很酷的方法,只需在末尾添加[0]并完成
\App\User::where(['name' => $posts->username])->pluck('avatar')[0]