为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel whereHas 在具有相同属性的 M2M 上

Laravel whereHas 在具有相同属性的 M2M 上

PHP
慕森王 2022-12-30 17:02:36
我有两个模型,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


查看完整回答
反对 回复 2022-12-30
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信