mysql - 如何在 yii2 中的不同表上获得两个左连接?

标签 mysql json yii2

我有 3 个表(公司、服务、参数)。 表之间的关系如下: 一个公司有很多服务, 一个服务有很多参数, 一项服务属于一家公司。 我正在尝试加入具有服务的公司以及带有参数的服务,并将其作为 json 返回。

我的代码是:

$query = Companies::find()
            ->joinWith('services')
            ->leftJoin('params', '`services`.`id` = `params`.`serviceid`')
            ->asArray()->all();
return $query;  

但是,在 json 中,我得到的公司和服务之间的关系有效,但服务和参数之间的关系无效。

如果有帮助,这是我得到的 json: json file

有人可以帮我吗? 看起来我错过了一些基本的东西,但不知道它是什么。 谢谢

最佳答案

您是否还建立了这些模型之间的关系?它更容易使用,特别是当您需要在多个地方使用该关系时。

Yii2 - Working with Relational Data

然后只需使用 ActiveQuery with() method

关于mysql - 如何在 yii2 中的不同表上获得两个左连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41265773/

相关文章:

php - 带有不记名身份验证的 Yii2 rest api

php - 对不同查询求和

php - 将字符串格式的 CSV 值内部连接到 PHP 中的 MySQL 表

javascript - 将 "[ with [ and ]"替换为 ] json

json - 您应该将 Swagger 与 HATEOAS/HAL/JSON-LD 结合使用吗?

php - 根据 OOP 和 MVC 原则 (PHP),它是否正确?

mysql - 语法错误 #1064

MySQL表结构问题

javascript - 如何将 HTML 表 tbody(带行跨度)转换/转换为 json?

rest - 以 RESTful 方式运行时如何使用行为?