Laravel 5 在laravel中查询刀片视图内部

Laravel 5 在laravel中查询刀片视图内部,laravel-5,Laravel 5,嗨,我想问一下 {{ \App\User::where(['name' => $posts->username])->pluck('avatar') }} 但是,此查询输出如下内容 ["1486468548.jpg"] 我期待着 1486468548.jpg 这样它就可以被读取了。关于如何删除块和引号有什么想法吗???我知道在blade中进行查询不是一个好的做法,但我不知道如何使用我的代码流来搜索用户的头像 我的控制器看起来像这样。它是生成帖子的来源。是否有一种方法可以获

嗨,我想问一下

{{ \App\User::where(['name' => $posts->username])->pluck('avatar') }}
但是,此查询输出如下内容

["1486468548.jpg"]
我期待着

1486468548.jpg
这样它就可以被读取了。关于如何删除块和引号有什么想法吗???我知道在blade中进行查询不是一个好的做法,但我不知道如何使用我的代码流来搜索用户的头像

我的控制器看起来像这样。它是生成帖子的来源。是否有一种方法可以获取值为poststable的用户头像。我知道它存在,但我不知道如何存在

public function getDashboard()
{
    $posts = Post::orderBy('created_at', 'desc')->get();

    return view('home', ['post' => $posts]);
}
试试这个

{{ \App\User::where(['name' => $posts->username])->pluck('avatar')->first() }}
试试这个

{{ \App\User::where(['name' => $posts->username])->pluck('avatar')->first() }}
在Laravel 5.4中,
pluck()
返回这些值的集合(即使只有一个)

您可以执行以下任一操作:

\App\User::where(['name' => $posts->username])->pluck('avatar')->first();

也就是说,我还建议在
Post
s和
User
s之间建立一种关系,这样您就可以急切地加载这些关系,从而:

  • 不必在视图内部进行查询(该逻辑不应该真正在视图中)
  • 不需要执行多个查询时,您不会执行多个查询
  • 然后,您可以使用以下用户加载帖子:

    $posts = Post::with('user')->orderBy('created_at', 'desc')->get();
    
    并通过以下方式获得头像:

    $post->user->avatar;
    
    希望这有帮助

    在Laravel 5.4中
    pluck()
    返回这些值的集合(即使只有一个)

    您可以执行以下任一操作:

    \App\User::where(['name' => $posts->username])->pluck('avatar')->first();
    

    也就是说,我还建议在
    Post
    s和
    User
    s之间建立一种关系,这样您就可以急切地加载这些关系,从而:

  • 不必在视图内部进行查询(该逻辑不应该真正在视图中)
  • 不需要执行多个查询时,您不会执行多个查询
  • 然后,您可以使用以下用户加载帖子:

    $posts = Post::with('user')->orderBy('created_at', 'desc')->get();
    
    并通过以下方式获得头像:

    $post->user->avatar;
    

    希望这有帮助

    这是一种很酷的方式,只需在末尾添加[0]即可

    \App\User::where(['name' => $posts->username])->pluck('avatar')[0]
    

    这是一种很酷的方法,只需在末尾添加[0]即可

    \App\User::where(['name' => $posts->username])->pluck('avatar')[0]
    

    您使用的是什么版本的Laravel?@RossWilson 5.4您使用的是什么版本的Laravel?@RossWilson 5.4