2016-12-04 25 views
1

これはおそらくLaravelで遭遇した最も奇妙なバグであり、何が起こっているか全く分かりません。Laravel Value()関数が適切な値を返していない

基本的には、私はクエリの値を取得しようとしています。このシナリオでは、3つの画像があります。それらのタイトルは、「第1の画像タイトル」、「第2の画像タイトル」、および「第3の画像タイトル」である。十分なシンプル

public function postFav($username, $URLtitle) { 

    $user = User::where('username', $username)->first(); 
    $userID = User::where('username', $username)->value('id'); 
    $image = Images::where('url_title', $URLtitle)->first(); 

は、ここで関連するコードです。

ただし、問題があります。

私はタイトルをdiedump場合は、そのよう:

dd($image->value('title')); 

それはいつも私の結果、「第一画像タイトル」、データベースにアップロード最初の画像を提供します。

私は、値を取得するのではなく、通常のdiedumpをやってみます。

dd($image); 

これは物事が奇妙になる場所です。そうです

enter image description here

。 dd($ image)は毎回正しいイメージを返しますが、dd($ image-> value( 'title'))は最初のイメージのタイトルを返します。

これはおそらく何が原因でしょうか?

答えて

1

値のメソッドを使用せずに試すことができます。次のようにしてください:

dd($image->title) 
+0

Woahできます。それは正しい価値を返しています...なぜそれは機能しますか?それは意味をなさない...私はとても混乱している –

+0

あなたのSQLクエリは配列として1行だけを取得します。だからこそ、あなたはdd()か、この方法でフィールドをエコーすることができます - $ object-> fieldName。私の答えが役に立つと思うなら、あなたの質問に適切な答えを選んでください。 –

関連する問題