我有两个模型,word和meaning,处于多对多关系中。型号含义:public function words(){ return $this->belongsToMany(Word::class);}示范词:public function meanings(){ return $this->belongsToMany(Meaning::class);}我需要找到所有与他们自己的名字相同的词的含义。我试过:$meanings = Meaning::whereHas('word', function ($query) { $query->where('meaning.name', 'word.name'); })->get();但这会搜索字面上称为"word.name"的含义。任何的想法 ?谢谢!
1 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
在这种情况下有一个特殊的“where”,它是“whereColumn”,这意味着在两列之间进行比较:
$meanings = Meaning::whereHas('word', function ($query) { $query->whereColumn('meaning.name', 'word.name'); })->get();
更多详细信息: https ://laravel.com/docs/7.x/queries#where-clauses
- 1 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消