我已成功使用预先加载检索数据,如下所示:
$var = Question::with(['asker'=>function($query){
$query->select('id','username');
}])->get();
问题是我无法从模型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']);
在这两种情况下,选择null
和asker
时,q_id
的值都会返回title
。
答案 0 :(得分:3)
您还需要选择外键,因此Eloquent可以找到关系:
$var = Question::with(['asker' => function($query){
$query->select('id', 'username', 'question_id');
}])->get();
答案 1 :(得分:1)
我必须在从模型中选择数据时包含外键。
$var = Question::select('q_id','title','askedby')->with(['asker'=>function($query){
$query->select('id','username');
}])->get();
必须包括额外字段'askby'。谢谢你的线索。