2016-12-21 5 views
1

データ:どのように積極的なロードを使用しているモデルから特定の列を選択するには、次のように積極的なロードを使用して、私が正常に取得しているlaravel

問題は、私はモデルQuestionから特定の列を選択することができませんということです。私は次のことを試してみました:

$var = Question::select('q_id','title')->with(['asker'=>function($query){ 
     $query->select('id','username'); 
    }])->get(); 

$var = Question::with(['asker'=>function($query){ 
     $query->select('id','username'); 
    }])->get(['q_id','title']); 

両方のケースでq_idtitleを選ぶ間、それはaskerためnull値を返しました。

+0

質問モデルはどのように見えますか?質問と尋問者との関係を見ることは役に立ちます。 –

答えて

0

モデルからのデータを選択している間、私は外部キーを含める必要がありました。

$var = Question::select('q_id','title','askedby')->with(['asker'=>function($query){ 
    $query->select('id','username'); 
}])->get(); 

追加フィールド 'askedby'が含まれていなければなりません。手がかりをありがとう。

+0

だから、あなたは実際に自分のコードを試していませんでしたが、うまくいきませんでした。 'Question'モデルの' select'は削除されていますので、私のコードはうまくいくはずです。 –

+0

本当にありません。私はその後、エラーが表示されましたが、askbyがTABLEに見つかりませんでした(私も他のキーを試しました)。そして、それをselect文に含めようと考えました。 – uttejh

1

雄弁に関係を見つけることができるように、また、外部キーを選択する必要があります。

$var = Question::with(['asker' => function($query){ 
    $query->select('id', 'username', 'question_id'); 
}])->get(); 
+0

それは動作しません – uttejh

+0

あなたは関係のために 'null'を取得しますか?クロージャーを外しても機能しますか? 'question_id'は外部キーの正しい名前ですか? –

+0

えええええええええええええええええええええええええええええとと言うのはそれが機能しており、尋ねられるのは外来の鍵です。努力をいただきありがとうございます。 – uttejh

関連する問題