如何使用laravel连接三个有说服力的表



例如,我有3个表,而这些表有一个关系,

表A

  • id
  • 名称

表B

  • id
  • 表Id_A
  • 表Id_C

表C

  • id
  • 名称

我使用的是表C,但我想使用query雄辩器按与表A中名称相同的请求名称搜索项目这就是查询,我使用的是laravel

$this->model->query()
->withWhereHas('tableB', function($query) use ($names) {
$query->tableB->where('name', 'LIKE', "%{$names}%");})

如何使用雄辩来修复使用过三张表的关系?

我认为您的关系名称应该是tableA,而不是tableB。

public function tableA() 
{
return $this->belongsToMany(TableAModel::class, 'TableB', 'tableId_C', 'tableId_A')
->where('TableA.status', CoreStatusEnum::ACTIVE); 
}

你的查询是这样的。。

$this->model->query()
->withWhereHas('tableA', function($query) use ($names) {
$query->where('name', 'LIKE', "%{$names}%");
})
->get();

相关内容

  • 没有找到相关文章

最新更新