laravel 一个表关联另一个表的两个字段(pid,uid)等于uid但是 不等于pid 应该如何写关联

laravel 一个表关联另一个表的两个字段(pid,uid)等于uid但是 不等于pid 应该如何写关联

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 13
GDDD

建议你重新建表

3年前 评论

可以试下这样
A表id,B表pid,uid
A::leftJoin(‘b’,function($join){
$join->on(‘a.id’,’=’,’b.uid’)->where(‘a.id’,’!=’,’b.pid’)
})

或者在A的模型文件里
public function b(){
//根据实际需求选择hasMany或者belongTo
return $this->hasMany(B::class,’b.uid’,’a.id’)->where(‘a.id’,’!=’,’b.pid’)
}

3年前 评论
class U extends Model
{
  public function p(): HasOne
  {
      return  $this->hasOne(P::class, 'pid', 'uid');
  }
}
3年前 评论
Su 3年前

一个表的一个字段关联另一个表的两个字段(pid, uid), 这个字段等于 uid 但是不等于 pid 。是这么理解吗??

不等于pid 你是怎么做到 pid 和另一个表关联的?

3年前 评论
yinxinfu (楼主) 3年前
Su (作者) 3年前
yinxinfu (楼主) 3年前
playmaker

不等于 pid 得看是啥业务场景啊 pid 到底是条件 还是 关联相关字段。

可以说下啥业务场景吗?

3年前 评论
yinxinfu (楼主) 3年前

没看明白问题,建议详细描述一下

3年前 评论
yinxinfu (楼主) 3年前

问题解决了记得回来写下结论,采纳答案,养成良好习惯

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!