Php Laravel BELONGS返回null

Php Laravel BELONGS返回null,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有两个模型 单词模型: class Word extends Model { public function pos() { return $this->belongsTo(Pos::class); } } 和PoS型号: class Pos extends Model { // protected $table = 'pos'; public $timestamps = false; } 现在在控制器中,我想获得word和p

我有两个模型

单词模型:

class Word extends Model
{
 public function pos()
    {
        return $this->belongsTo(Pos::class);
    }
}
PoS型号

class Pos extends Model
{
    //
    protected $table = 'pos';
    public $timestamps = false;
}
现在在控制器中,我想获得
word
pos
关系,但是
pos
关系在指定列时返回null

控制器

$word = Word::with(['pos'])->whereId( $vocabulary->word_id)->get(['id', 'word', 'surface', 'gloss', 'example','sound_url'])->first();
请注意,当我使用query而不指定列时,这些列可以完美地工作


我已经尝试过使用
addselect
和闭包
,但同样的结果

可能会尝试将
pos\u id
添加到该列数组中

确保您还获取了关系所基于的列。Does
Word::whereId($词汇表->Word\u id)->get(['id'、'Word'、'surface'、'gloss'、'example'、'sound\u url'])->first()工作?@apokryfos是的course@apokryfos对于另一种关系,如
有许多
工作正常,但
属于
不工作并返回null@MortaddaJafar试试这个
get(['id','word','surface','gloss','example','sound_url','pos.'])
请阅读我的问题..它的工作没有指定列,我理解你的问题。。。当您指定列时,您不会指定负责关系的列,所以这可能就是它不起作用的原因。因此,将“pos_id”添加到['id'、'word'、'surface'、'gloss'、'example'、'sound_url']这个数组中。
   $word = Word::with(['pos'])->whereId( $vocabulary->word_id)->first();