【发布时间】:2021-02-13 08:25:23
【问题描述】:
我正在使用 PHP 和 Laravel 6,我需要查询多个子查询。子查询在同一张表上,我不能用连接来做(或者我想不出办法)。
我需要做这个查询:
select t.nombre, t.anio, (select v.value form Valor v where v.id=t.tipo) 作为tipo,(从Valor v 中选择v.value,其中 v.id=t.centro) 作为来自 Titulo 的中心
我尝试过做类似的事情,但它不起作用:
$query = trim($request->get('searchText'));
$titulos = DB::table('titulo as t')
->select('t.nombre','t.anio')
->DB::raw('(select v.value from Valor v where t.tipo = v.id) as tipo'))
->paginate(7);
你能帮帮我吗?
非常感谢,我读到了!
【问题讨论】:
-
Laravel 有一个很好的 ORM 可以用于关系。 HasOne、HasMany、BelongsTo 等
-
这些表将不相关。 Value 表是我在数据库中没有与任何其他表相关的表,它是一个辅助表,将多种类型的数据分组,其余表都使用它。
-
你需要写
->DB::raw()而不是->selectRaw()
标签: php laravel subquery multiple-select