2017-02-08 98 views
0

您好我試圖做一個查詢像查詢在laravel刀片視圖內

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

但是這個查詢輸出這樣的事情

["1486468548.jpg"] 

我期待

1486468548.jpg 

這樣它才能真正被讀取。關於如何刪除塊和引號的任何想法?我知道這是不是一個好的做法,查詢刀片式服務器,但與我的代碼流,我不知道如何ge用戶頭像。

我的控制器看起來像這樣。它的帖子是從哪裏生成的。有沒有辦法我可以得到用戶頭像值爲帖子表。我知道它的存在,但我不知道

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

    return view('home', ['post' => $posts]); 
} 
+0

您使用的是什麼版本的Laravel? –

+0

@RossWilson 5.4 –

回答

0

在Laravel 5.4 pluck()返回這些值的Collection(哪怕只有一個)。

你可以這樣做:

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

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

話雖這麼說,我還建議建立Post S和User S之間的關係,這樣就可以急於負荷的關係,使你是:

  1. 無需查詢你內部查看(邏輯sh不會真的在那裏)。
  2. 你不執行多個查詢時,不需要

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; 

希望這有助於!

0

怎麼嘗試......

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

希望你喜歡它.. –