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

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 13
GDDD

建议你重新建表

2年前 评论

可以试下这样
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’)
}

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

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

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

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

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

可以说下啥业务场景吗?

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

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

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

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

2年前 评论

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