php - 如何使用Capsule和MySQL两种方式查询出 `jump condition `表数据?

标签 php mysql laravel

我有两个如下表:

1)tblaffiliates账户

mysql> select * from tblaffiliatesaccounts limit 12;
+----+-------------+-------+------------+
| id | affiliateid | relid | lastpaid   |
+----+-------------+-------+------------+
|  1 |           2 |   444 | 2019-11-01 |
+----+-------------+-------+------------+

affiliateid: 联盟ID, relid:产品 ID lastpaid:最近付款日期

2)tblaffiliatespending

mysql> select * from tblaffiliatespending limit 12;
+----+----------+--------+--------------+
| id | affaccid | amount | clearingdate |
+----+----------+--------+--------------+
|  1 |        1 |   0.03 | 2019-12-01   |
+----+----------+--------+--------------+

affaccid:这是tblaffiliatesaccounts的ID值

现在我知道了 affiliateid=2,我想查询所有满足其 affacc 的 affiliateid=2 条件的 tblaffiliatespending 行。

如何使用Capsule ?和 MySQL cli 命令?我想知道这两种方法的比较。

我只知道如何在一张表中查询。

Capsule 是 Laravel 包的简单包装器包。

最佳答案

我不确定你的确切挣扎是什么,但我相信你需要类似的东西:

SELECT *
FROM tblaffiliatespending s
INNER JOIN tblaffiliatesaccounts a ON (a.id = s.affaccid AND a.affiliateid = 2);

至于使用Capsule,我相信这应该有效:

Capsule\DB::table('tblaffiliatespending s')->select('*')->join('tblaffiliatesaccounts a', 'a.id', '=', 's.affaccid')->where("a.affiliateid", "2")->get();

免责声明:我从未使用过 Capsule,我指的是过时的文档。我不确定胶囊查询是否有效,但无论如何它应该有效。如果有问题,请给我评论。还要记住,MySQL 查询更好,并且在大多数情况下运行得更快,因为条件位于连接中。我不知道在 Capsule 中执行此操作的正确方法是什么,因此我选择了 where 子句。

如果您有任何其他问题,请告诉我。

关于php - 如何使用Capsule和MySQL两种方式查询出 `jump condition `表数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58657938/

相关文章:

mysql - 从同一张表中获取合并的计数

php - 通过合并到 MySQL 中保存不断更新的数据数组(可能存在并发问题)

javascript - 显示循环中的所有数据

mysql - #1064 - 您的 SQL 语法有错误......第 15 行 'TYPE=MyISAM AUTO_INCREMENT=1' 附近

php - laravel php 包冲突

javascript - Vue JS 渲染大括号而不是结果

php - 使用 like 在多个列上选择一个值

php - 如何存储og meta标签信息?

php - 如何在 PHP 中动态更新表

php - 更新所有 WooCommerce 处理订单中的 ACF 字段